Docker / 容器

Docker 镜像引用解析看清仓库、标签与摘要

输入单个镜像引用,或按字段构建。先核对默认补全与摘要优先行为,再复制结果。

Docker 镜像引用解析

引用或独立字段

引用仅在当前浏览器中处理,不查询镜像仓库、不上传,也不访问 Docker daemon。

解析结果

请输入镜像引用或仓库路径。

输入模式与示例

两种模式分别保留草稿。Registry 留空表示 Docker Hub,完整仓库路径放在独立字段中;host:5000 这样的仓库地址不会与命名空间混淆。

单个引用最多 4,096 字符;仓库路径最多 255 字符,标签最多 128 字符。摘要支持完整的小写十六进制 sha256/384/512。

等待解析最新输入…

Docker 镜像引用解析适合排查部署指向错误仓库的问题。同样一个冒号,在 registry.example.com:5000/team/api:v2 中,一处表示端口,另一处表示标签;直接按第一个冒号切开会丢失含义。

先比较短名称与私有仓库示例,再检查哪些值是自动补齐的。工具保留原始输入,结果单独呈现仓库路径和选择标识,便于发现遗漏主机名或误用 latest 的情况。

为什么使用 Docker 镜像引用解析

把隐含默认值展开

Docker 镜像引用解析会将 nginx 展开为 docker.io/library/nginx:latest,并标明哪些字段来自默认补全。私有仓库不会被擅自添加 library 前缀,便于在修改部署配置前核对目标。

短镜像引用展开为代表仓库地址、仓库路径与标签的不同颜色组件

保留标签,也明确摘要的作用

镜像引用可以同时携带镜像标签和镜像摘要。规范化视图保留两者便于复核,有效引用则单独呈现摘要优先的选择结果,避免把保留的标签误认为已核验的版本承诺。

可移动标签与固定指纹指向容器,由指纹决定最终选择

先辨认分隔符,再检查默认值

01

先看首段是否真是仓库地址

只有存在斜杠时,首段中的点号、冒号、大写字母或 localhost 才用于识别 registry。单独输入 localhost 没有斜杠时,它仍然是 Docker Hub 下的镜像名称。

02

在字段模式中保留路径的完整含义

切换模式不会覆盖另一份草稿。Repository 字段包含命名空间,但不包含 :tag 或 @digest;省略 registry 会使用 Docker Hub,不能用含糊的单标签地址来猜测私库。

03

区分自动刷新和可导出状态

自动模式在编辑停止 350 毫秒后运行;关闭后显示执行按钮,也可以按 Ctrl/Cmd + Enter。示例与清空先展示替换预览,应用后可撤销一次,并恢复输入和结果。

从仓库位置检查到内容选择

识别短名称和旧域名

输入 Docker 镜像名称时,缺失的 docker.io、library 和 latest 按各自条件补齐。index.docker.io 会规范化为 docker.io;标签保留大小写,仓库路径含大写则报错,不自动改写。

分别检查名称、端口和摘要

解析器支持域名、数字端口和方括号中的纯 IPv6 仓库地址。路径分隔符、标签字符和摘要长度分别校验,避免将错误的哈希或端口当作版本标签,也不会把一个完整命令当作引用。

构建与导出共享同一套解释

按独立字段组合引用后,可以复制规范化字符串、有效字符串,或下载带默认值标记的 JSON 报告。修改输入或切换模式会立即禁用导出,直到当前草稿重新检查成功。

语法通过之后仍需确认什么

不证明镜像存在,也不操作容器
这里不检查远端仓库、访问权限、manifest、平台架构、签名或漏洞。“构建”仅表示组合镜像引用字符串,不会构建镜像文件,也不会执行拉取、运行或推送命令。
标签与摘要不能互相推算
只有标签和摘要都缺失时才添加 latest;存在摘要时按摘要选择,即使输入仍保留标签。工具不根据标签查询或计算摘要,也不验证标签与摘要是否指向同一对象。
只接受单个具名引用
不提取 Dockerfile、Compose 或 Kubernetes 文档中的镜像,也不处理镜像归档和批量列表。外层空白会修剪,内部空白、凭据、URL 协议和未展开变量会报错;裸镜像 ID 无法在这里解析成仓库。
字符、长度与算法范围固定
当前输入最多 4,096 字符,规范化仓库路径最多 255 字符,标签最多 128 个指定 ASCII 字符且不能以点或连字符开头。摘要仅接受 sha256/384/512 的完整小写十六进制形式;不接受 IPv6 区域标识或含点的映射写法,数字端口也不代表服务可达。

Docker 镜像引用解析常见问题

Docker 报 invalid reference format: repository name must be lowercase 是什么原因?

仓库路径组件必须小写,但标签允许大写。先检查标签分隔符前面的命名空间和镜像名,再确认命令或变量没有误粘到输入中。此工具会报告路径错误,而不是擅自转小写,避免掩盖目标拼写错误。

镜像引用同时写标签和摘要时,Docker 会检查两者是否匹配吗?

不能依赖这种匹配检查。同时指定时,摘要决定实际选择;规范化结果保留原标签,有效引用则省略它。如果需要证明两者对应同一镜像,应另外检查真实仓库元数据,本工具不会给出此类保证。

怎样知道 latest 标签实际指向哪个版本?

latest 是维护者指定的一个标签,并不表示工具会计算语义版本中最大的版本。标签可以移动,确定当前指向需要查询仓库。解析器只显示输入中的标签,不会把 latest 翻译成某个版本号。

本地镜像仓库为什么被解析到 docker.io?

例如 registry/api 的首段是纯小写且不含点号或端口,Docker 会把它当作命名空间。请核对是否应使用 registry:5000/api 或实际的完整域名。字段构建会拒绝这种含糊地址,避免悄悄转向 Docker Hub。

Docker 镜像的 Image ID 和摘要有什么区别?

本地 Image ID 标识镜像配置内容,仓库摘要可能标识 manifest 或镜像索引,二者通常不能混用。请提供仓库名称加 @ 和对应的仓库摘要;仅凭其中一个标识,工具无法推导另一个。

还有疑问?

核对下一条镜像引用

使用 Docker 镜像引用解析,同时确认目标仓库与内容选择方式。当前草稿通过检查后,再把有效引用复制到部署配置中。