创建docker image“离线安装程序”

时间:2017-10-04 08:11:47

标签: docker docker-compose dockerfile

我使用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。

有什么更好的方法来创建我的“离线安装程序”,以避免它变得如此之大?

2 个答案:

答案 0 :(得分:1)

save命令是在线运行docker镜像的方法。

您注意到的大小差异是因为当您从注册表中提取图像时,某些图层可能存在于本地,因此不会被拉出。所以你不是所有的图像层,只有那些图层 你不在当地。

另一方面,当您将图像保存为tar时,需要存储所有图层。

答案 1 :(得分:0)

创建Docker离线安装程序的最佳方法是

  • 列表项
  • 获取CI / CD管道以生成TAR文件作为构建过程。
  • 稍后使用所需的TAR文件创建本地文件夹
  • 编写脚本以将这些TAR文件加载到计算机上
  • 同一脚本可以触发 docker-compose up -d 命令,以启动整个服务生态系统

注意:在启动服务之前加载图像很重要

关于尺寸问题,Yamenk的答案具体指出了尺寸增加的原因。原因是docker不拉共享层。