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

如何在Docker容器中复制和提取.tar文件,docker,docker-container,Docker,Docker Container,我有一个场景,需要将.tar文件复制到docker容器中,并将内容提取到容器中的特定文件夹中。那么我们是否有任何特定的命令来处理这种情况呢?只需在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@a6ce75

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

只需在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:/#

根据您的具体使用情况,有几个选项:

1.Dockerfile内的COPY指令 请参阅,此命令允许您将文件从主机复制到图像的指定路径中。因此,每当一个新容器出现时,它都会出现(显然,因为它是图像的一部分)

2.装册 如果要将.tar文件传递到特定容器中,可以使用
--mount
-v
命令装载来自主机的卷(或使用CLI中的
docker volume create
),如下所示:

$ docker run \
  --name mycontainer \
  --mount source=/path/to/folder/containing/tar/file,target=/target \
  myimage
执行此操作后,
/path/to/folder/containing/tar/file
将可用于
/target
下的容器,因此您可以通过路径
/target/myfile.tar
使用该文件


我建议您选择此选项,因为这是一种更可调整的方法。

您的
Dockerfile
是什么样子的?谢谢@Szymon MaszkeMark将解决您的问题的答案标记为已接受,它将帮助遇到相同问题的其他人。并在下次提供更多信息(如您的
Dockerfile
),干杯。