泊坞窗负载:检查是否最新

时间:2020-08-10 06:29:21

标签: docker docker-image docker-daemon

我的应用程序在Docker容器中运行,并且我正在离线部署

  1. docker save在我的开发机器上的图像并将其与应用捆绑在一起
  2. 通过USB记忆棒手动传输tarfile和我的应用程序包
  3. docker load在目标计算机上(目标未连接到网络)

步骤1和3由BASH脚本(Linux)执行。

应用程序更新通常不需要更新Docker映像,并且由于docker savedocker load都很慢且占用大量资源,因此我希望尽可能避免执行这些步骤。

是否可以找到在我的Docker守护进程中,tar编辑过的映像是否等于映像IMAGE:TAG

我尝试将skopeo inspect docker-archive:...docker image inspect ...的输出进行比较,但是似乎没有要比较的图像ID。我已经看到RootFS层相等,但这是我可以跳过docker save / docker load的有力保证吗?

1 个答案:

答案 0 :(得分:0)

到目前为止,docker并没有支持该功能,但是我使用bash来“破解”该问题,从而解决了类似的问题。

我做了什么:

  1. 我保存了一个docker镜像,例如“ mymongo:latests”到tar文件,我们称它为x.tar

  2. 我自动运行脚本并从tar中提取文件“存储库” 3该文件实际上包含json之类的

    {“ mymongo”:{“最新”:“ someId”}}

  3. 将其解析为json,因为myMongo是图像,而最新的是标签

enter image description here