Docker 本地 latest 镜像如何找到 dockerhub 对应版本


共计 968 个字符,预计需要花费 3 分钟才能阅读完成。

使用 docker 有时候为了方便拉下来的镜像是 latest 版本,但是迁移的时候,可能镜像更新了。这样的话,拉下来的镜像就和原来的不一致,如果启动报错了,就非常的麻烦。所以为了避免这种情况发生,最好使用指定版本。

万一真的出现了版本不一致不能启动的情况,首先就需要找到之前 latest 所对应的版本。这里以我这里的 linuxserver/freshrss 镜像为例:

docker inspect linuxserver/freshrss:latest

此时结果如下:

[
    {
        "Id": "sha256:7b384ece68d958ef0688ec7afb74bbc66cfbde2ffbb5a0bde59320eb040238b6",
        "RepoTags": [
            "linuxserver/freshrss:latest"
        ],
        "RepoDigests": [
            "linuxserver/freshrss@sha256:807e9bf3c9a887108375125a0b58a4251282ee40e331475e623b9504a6dbab1e"
        ]
    }
]

比较重要的是 RepoDigests 中的结果 807e9bf3c9a887108375125a0b58a4251282ee40e331475e623b9504a6dbab1e

然后可以通过浏览器访问如下地址:

# 不同的镜像,替换 linuxserver/freshrss 部分即可
https://registry.hub.docker.com/v2/repositories/linuxserver/freshrss/tags?page=1&page_size=1000

这样可以查询 linuxserver/freshrss 所有的 tag。(这里的分页数据设置大一点,方便查询到所有的标签)

此时将访问得到的结果使用浏览器插件 JSON-handle 或者其他 json 处理工具打开,再 ctrl + f 查询上面查到 hash 值。

需要注意的是,也有可能找不到对应的标签,这种情况可能是所有者将这个标签删除了。

Docker 本地 latest 镜像如何找到 dockerhub 对应版本

/>

这里索引是从 0 开始的,那么这条记录索引为 33,得到这个标签在 dockerhub 的位置就是 34。并且,dockerhub 基本都是 25 个镜像一页,那么直接找到第 2 页的第 9 个镜像即可。

Docker 本地 latest 镜像如何找到 dockerhub 对应版本

/>

如果 hash 值一致说明就找对了,如果不一样,可能是数错了。

提醒:本文发布于123天前,文中所关联的信息可能已发生改变,请知悉!

Tips:清朝云网络工作室

阅读剩余
THE END