如何将传输缓存保存到泊坞窗的其他主机
当我做一个“码头构建”时,需要30米才能完成。 当我重新运行“docker-compose build”时,所有内容都被缓存,并且需要1m才能完成。
我想将此缓存传输到另一台机器。 我认为我可以在“docker images”和“docker save”中迭代所有图像,然后简单地复制tar文件并“docker load”它们。
没爱。 它似乎获得了很大一部分缓存,但是“docker-compose build”仍然在Dockerfile中运行。
我可以在本地重现这一点。 例如:
# Do a docker-compose build (takes 30m):
docker-compose build
# Verify that a docker-compose build uses cache (takes 1m):
docker-compose build
# Save all images to /tmp/[IMAGE.TAG].tar:
docker images | grep -v REPOSITORY | grep -v '<none>' | awk '{print "docker save "$1" > /tmp/"$1"."$2".tar"}' > ./run-this.sh
# Now delete all cache:
docker rmi $(docker images -q)
docker rm $(docker ps -a -q)
# Load in all tar files:
for f in /tmp/*.tar; do docker load < $f ; done
# Verify docker-compose takes 1m:
docker-compose build
# Dang. It takes ~15m. It should have taken 1m.
# I must not be saving some images!
如何以编程方式将所有缓存从docker-compose构建中保存?
这与此非常相似:如何在不通过存储库的情况下将Docker镜像从一台主机复制到另一台主机?
链接地址: http://www.djcxy.com/p/18271.html上一篇: How to save transfer cache to a different host from a docker
下一篇: Copy log files from Docker container to host after CMD is run