如何在Docker容器中复制和提取.tar文件
我有一个场景,需要将.tar文件复制到docker容器中,并将内容提取到容器中的特定文件夹中。那么我们是否有任何特定的命令来处理这种情况呢?只需在Dockerfile中使用ADD指令即可。以下是一个例子:如何在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
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
),干杯。