Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker加载:检查是否为最新_Docker_Docker Image_Docker Daemon - Fatal编程技术网

docker加载:检查是否为最新

docker加载:检查是否为最新,docker,docker-image,docker-daemon,Docker,Docker Image,Docker Daemon,我的应用程序运行在Docker容器中,我使用离线部署 docker将图像保存到我的开发机器上,并将其与应用程序捆绑在一起 通过U盘手动传输文件包和我的应用程序 docker加载在目标机器上加载(目标未连接到网络) 步骤1和3由BASH脚本(Linux)执行 应用程序更新通常不需要更新Docker映像,而且由于Docker save和Docker load都非常缓慢且占用大量资源,因此我希望尽可能避免这些步骤 有没有办法确定我的Docker守护进程上的tar图像是否等于imageimage:TAG

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

  • docker将图像保存到我的开发机器上,并将其与应用程序捆绑在一起
  • 通过U盘手动传输文件包和我的应用程序
  • docker加载
    在目标机器上加载(目标未连接到网络)
  • 步骤1和3由BASH脚本(Linux)执行

    应用程序更新通常不需要更新Docker映像,而且由于
    Docker save
    Docker load
    都非常缓慢且占用大量资源,因此我希望尽可能避免这些步骤

    有没有办法确定我的Docker守护进程上的
    tar
    图像是否等于image
    image:TAG


    我尝试了
    skopeo-inspect-docker-archive:…
    vs.
    docker-image-inspect…
    output进行比较,但似乎没有要比较的图像ID。我已经看到RootFS层是相等的,但这是一个强有力的保证,我可以跳过
    docker save
    /
    docker load

    直到现在,docker还不支持该功能,但我使用bash解决了类似的问题,以“破解它”

    我所做的:

  • 我将docker图像(例如“mymongo:latests”)保存到tar文件中,我们称之为x.tar

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

    {“mymongo”:{“latest”:“someId”}

  • 将其解析为json,因为myMongo是图像,latest是标记


  • docker目前还不支持该功能,但我用bash解决了一个类似的问题

    我所做的:

  • 我将docker图像(例如“mymongo:latests”)保存到tar文件中,我们称之为x.tar

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

    {“mymongo”:{“latest”:“someId”}

  • 将其解析为json,因为myMongo是图像,latest是标记


  • 谢谢分享您的方法,但我相信我们在这里有一个误解。我并没有试图从
    tar
    文件中提取
    IMAGE:TAG
    信息,因为这些仅仅是“指针”,不同的图像可以在不同的时间/不同的机器上进行相同的标记。我需要知道图像内容是否真实相同,因此我可以跳过
    docker save
    (开发人员机器)和/或
    docker load
    (目标机器)。Hi@FelixL。那么你想比较图像吗?是的,我希望能够通过sha256:。。实际上是校验和的散列,而不是比较层内容。正如我在Q中提到的,我已经观察到RootFS层是相同的,所以这已经是事实了。只是不确定这是否足以比较得出平等的结论。当然,一个图像是由它的所有层组成的,但可能还有我不知道的其他数据。我希望能找到一个类似于总校验和的东西,我可以从中得出相等的结论。为什么不比较一下“创建日期”???新的赢家:)谢谢分享你的方法,但我相信我们在这里有一个误解。我并没有试图从
    tar
    文件中提取
    IMAGE:TAG
    信息,因为这些仅仅是“指针”,不同的图像可以在不同的时间/不同的机器上进行相同的标记。我需要知道图像内容是否真实相同,因此我可以跳过
    docker save
    (开发人员机器)和/或
    docker load
    (目标机器)。Hi@FelixL。那么你想比较图像吗?是的,我希望能够通过sha256:。。实际上是校验和的散列,而不是比较层内容。正如我在Q中提到的,我已经观察到RootFS层是相同的,所以这已经是事实了。只是不确定这是否足以比较得出平等的结论。当然,一个图像是由它的所有层组成的,但可能还有我不知道的其他数据。我希望能找到一个类似于总校验和的东西,我可以从中得出相等的结论。为什么不比较一下“创建日期”???较新的获奖者:)