我无法从documentation中了解如何使用单个命令将tar提取到容器中:比如说:
tar xf ./tarfile.tar.gz | docker cp - $CONTAINERID:/var/www/html
答案 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" ...