章节摘要:镜像造出来只是半程,能被团队与生产机取到才是全程——这中间的手续都发生在仓库(registry)。本部把仓库命令编成三组词条:login 与 search 管身份和找货;自建私有仓库的完整现场管"货栈"本身;tag 与 push 管打包发运。读完本部,一条镜像从开发机构建、打标、推送、到生产机拉取的完整链路,每一步你都有对应命令与可核对的信息。
阅读完本部,你应当能够:
金句:仓库是镜像的港口,tag 是报关单,push 是离港,pull 是入港;摘要是集装箱上的封条号。
4.1 登录与检索词条:login、logout、search 的完整词条。重点在凭据的存放位置与安全含义,以及检索结果里 OFFICIAL 与 STARS 两列在选型时的分量。
4.2 私有仓库命令现场:用 registry 镜像一分钟起一个本地仓库,跑通推拉闭环,并直面 insecure-registry 的报错与放行配置。企业内不能依赖公共仓库时,这一节就是替代方案的完整施工图。
4.3 打标与推送词条:tag、push 与摘要引用。重点是"tag 是改名不是复制"这个易混点,以及推送输出里层挂载(Mounted from)背后的存储逻辑。
三节沿镜像的出港动线推进:先有身份与货源(4.1),再有自己的港口(4.2),最后完成发运与签收(4.3):
+---------------+ +----------------+ +---------------+ | 4.1 身份与检索 | --> | 4.2 私有仓库 | --> | 4.3 打标与推送 | | login/search | | registry 现场 | | tag/push | +---------------+ +----------------+ +---------------+ | | | +---- 拉取端动作复用贰部 pull 词条,摘要由 4.3 提供 ----+
问:自建仓库与公共仓库能混用吗? 能。login 按地址区分凭据,同一台机器可以同时持有官方仓库与内网仓库的登录态;push/pull 的目标完全由引用名里斜杠前的仓库地址决定,地址指向谁,货就走谁的港。
问:为什么不直接用 save/load 搬镜像? 两台机器点对点传一次,save/load(贰部词条)最直接;可机器一多,每台都要互相拷文件就乱了。仓库是星型结构:所有机器只对仓库推拉,版本管理、增量传输、权限控制都由它统一承担,这正是 4.2 自建仓库的意义。
问:tag 打错了会不会污染镜像本体? 不会。tag 只是引用名的别名,重新打正确的引用、再用 rmi 删掉错误的引用即可,镜像层毫发无损——4.3 会把这条语义掰开。
前置:贰部的镜像词条(特别是 2.3 的 save/load,与推送是两条互补的搬运路线)、叁部 run 的端口映射义项(4.2 起仓库要用)。延伸:柒部 Compose 文件里的 image 字段写的正是本部定义的仓库引用名;捌部排错时 login 失效与推送被拒都是高频案由。过关自测:给你一台全新机器与一个私有仓库地址,你能在不查资料的前提下完成登录、给现有镜像打标、推送、再到另一台机器拉取并核对摘要的全链路。