如何在Docker容器中复制和提取.tar文件

时间:2019-02-07 13:19:47

标签: docker docker-container

我遇到的一种情况是,我需要将.tar文件复制到docker容器中,然后将内容提取到容器内的特定文件夹中。那么我们是否有任何特定的命令来处理这种情况?

2 个答案:

答案 0 :(得分:1)

有几种选择,具体取决于您的实际用例:

1。 Dockerfile中的COPY指令

请参见documentation,此命令使您可以将文件从主机复制到您的映像到指定的路径。因此,每次启动新容器时,它都会在那里(显然,它是图像的一部分)。

2。挂载卷

如果要将.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:/#