我使用docker-compose文件来获取Elasticsearch Logstash Kibana堆栈。一切正常,
docker-compose build
命令创建三个映像,每个映像大约600 MB,从docker repository所需的层下载。
现在,我需要做同样的事情,但是在没有互联网访问权限的机器上。从存储库下载是不可能的。我需要创建“离线安装程序”。我找到的最好方法是
docker save image1 image2 image3 -o archivebackup.tar
但创建的文件几乎是2GB。期间
docker-compose build
命令从Internet上下载了一些数据,但肯定不到2GB。
有什么更好的方法来创建我的“离线安装程序”,以避免它变得如此之大?
答案 0 :(得分:1)
save命令是在线运行docker镜像的方法。
您注意到的大小差异是因为当您从注册表中提取图像时,某些图层可能存在于本地,因此不会被拉出。所以你不是所有的图像层,只有那些图层 你不在当地。
另一方面,当您将图像保存为tar时,需要存储所有图层。
答案 1 :(得分:0)
创建Docker离线安装程序的最佳方法是
注意:在启动服务之前加载图像很重要
关于尺寸问题,Yamenk的答案具体指出了尺寸增加的原因。原因是docker不拉共享层。