将tar从主机提取到docker容器

时间:2019-06-28 16:44:18

标签: docker

我无法从documentation中了解如何使用单个命令将tar提取到容器中:比如说:

tar xf ./tarfile.tar.gz | docker cp - $CONTAINERID:/var/www/html

1 个答案:

答案 0 :(得分:0)

将tar存档本身作为标准输入传递

gzip -cd tarfile.tar.gz | docker cp - $CONTAINERID:/var/www/html

gunzip tarfile.tar.gz
docker cp - $CONTAINERID:/var/www/html < tarfile.tar

请记住,删除Docker容器是非常常规的操作,这样做时,它们的整个文件系统都会丢失。通常最好使用docker run -v选项将主机文件系统的某些部分注入到容器中,而不要尝试使用诸如docker cp(或docker exec)之类的命令性命令在重新创建容器时重复。

mkdir html
(cd html && tar xf ../tarfile.tar.gz)
docker run -v "$PWD/html:/var/www/html" ...