我遇到的一种情况是,我需要将.tar文件复制到docker容器中,然后将内容提取到容器内的特定文件夹中。那么我们是否有任何特定的命令来处理这种情况?
答案 0 :(得分:1)
有几种选择,具体取决于您的实际用例:
请参见documentation,此命令使您可以将文件从主机复制到您的映像到指定的路径。因此,每次启动新容器时,它都会在那里(显然,它是图像的一部分)。
如果要将.tar文件传递到特定容器中,则可以使用docker volume create
或{{挂载来自主机的卷(或使用CLI中的--mount
使用create one explicitly) 1}}这样的命令:
-v
此操作后,$ docker run \
--name mycontainer \
--mount source=/path/to/folder/containing/tar/file,target=/target \
myimage
将可用于/path/to/folder/containing/tar/file
下的容器,因此您可以通过路径/target
使用文件
我建议您使用此选项,因为这是更可调整的方法。
答案 1 :(得分:0)
只需在Dockerfile中使用ADD指令即可。这是示例:
FROM ubuntu:18.04
ADD ./file.tar /root/
CMD "/bin/bash"
然后:
docker run -it --rm ubuntu:test
root@a6ce756694a1:/# ls /root/
test.file
root@a6ce756694a1:/#