“创建docker形象的最佳方式”;离线安装程序“;

“创建docker形象的最佳方式”;离线安装程序“;,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,我使用docker compose文件获取Elasticsearch Logstash Kibana堆栈。一切正常 docker组合构建 该命令创建三个图像,每个约600 MB,从docker存储库下载所需的层 现在,我需要做同样的事情,但是在没有互联网接入的机器上。从急救室下载是不可能的。我需要创建“脱机安装程序”。我找到的最好的方法是 docker save image1 image2 image3-o archivebackup.tar 但创建的文件几乎是2GB。期间 docker组合构建

我使用docker compose文件获取Elasticsearch Logstash Kibana堆栈。一切正常

docker组合构建

该命令创建三个图像,每个约600 MB,从docker存储库下载所需的层

现在,我需要做同样的事情,但是在没有互联网接入的机器上。从急救室下载是不可能的。我需要创建“脱机安装程序”。我找到的最好的方法是

docker save image1 image2 image3-o archivebackup.tar

但创建的文件几乎是2GB。期间

docker组合构建

命令一些数据是从互联网上下载的,但绝对小于2GB


创建“脱机安装程序”的更好方法是什么,以避免它变得如此庞大?

save命令是联机运行docker映像的方法

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


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

创建Docker脱机安装程序的最佳方法是

  • 列表项
  • 获取CI/CD管道以在生成过程中生成TAR文件
  • 稍后使用所需的TAR文件创建本地文件夹
  • 编写脚本,将这些TAR文件加载到计算机上
  • 同一个脚本可以触发docker compose up-d命令来启动整个服务生态系统
注意:在启动服务之前加载映像非常重要


关于尺寸问题,亚门克的回答明确指出了尺寸增加的原因。原因是docker不拉共享层。

这是保存/导出图像、将其保存在磁盘、usb上然后将其移动的最佳方式。没有其他可能了。