推送本地镜像到私有远程仓库需三步:登录认证、打标签(格式为registry-host:port/namespace/image:tag)、执行push;关键在于标签匹配仓库地址且Docker客户端信任该仓库(HTTP或自签名HTTPS需配置insecure-registries)。

推送本地镜像到私有远程仓库,核心是三步:登录认证、打标签(tag)、执行 push。关键在于标签格式必须匹配私有仓库地址结构,且 Docker 客户端需信任该仓库(尤其使用 HTTP 或自签名 HTTPS 时)。
确认私有仓库已就绪并可访问
确保你的私有仓库(如 Docker Registry、Harbor 或 Nexus)正在运行,并对外提供服务。常用验证方式:
- 用 curl http://your-registry-ip:5000/v2/ 检查基础健康状态(若返回
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required"}]},说明服务正常但需登录) - 确认网络连通性,比如从本地机器 ping 或 telnet 测试端口(如 5000、443)
- 如果是 HTTP 仓库(非 HTTPS),Docker 默认拒绝连接,需在 Docker daemon 配置中显式添加 insecure-registries(Linux/macOS 编辑
/etc/docker/daemon.json,Windows Desktop 在 Settings → Docker Engine 中修改)
登录私有仓库完成身份认证
运行以下命令登录(替换为你的仓库地址和凭据):
docker login your-registry-ip:5000
MiniMax 图片理解 + 网络搜索 MCP 工具。适配 Docker 环境(极空间等),支持图片 OCR 识别、图像内容理解、网络搜索。API Key 安全存储在本地 credentials 文件,不暴露在代码中。
- 输入用户名和密码(Harbor 等平台通常支持 LDAP 或本地账号;裸 Registry 默认无认证,需自行配置或启用 basic auth)
- 成功后会在
~/.docker/config.json中保存认证信息,后续 push 不再重复输入 - 若使用阿里云 ACR、腾讯云 TCR 等托管私有仓库,登录地址为类似
registry.cn-shenzhen.aliyuncs.com,用户名为阿里云主账号 ID 或 RAM 子账号,密码为控制台生成的访问凭证
标记本地镜像为私有仓库格式
Docker 要求 push 的镜像名称必须包含完整仓库地址。假设你本地有个镜像 myapp:1.0,私有仓库地址是 192.168.1.100:5000,命名空间为 dev:
docker tag myapp:1.0 192.168.1.100:5000/dev/myapp:1.0
- 格式固定:
[registry-host:port]/[namespace]/[image-name]:[tag] - namespace 可以是项目名、团队名或任意合法路径段,用于逻辑隔离
- 务必先用
docker images确认新 tag 已存在,再进行 push
执行推送并验证结果
运行推送命令:
docker push 192.168.1.100:5000/dev/myapp:1.0
- 输出中看到多个
layer pushed和最终pushed表示成功 - 推送完成后,可直接在私有仓库 Web 界面(如 Harbor 控制台)查看镜像列表与版本
- 也可用 curl 再次请求
http://192.168.1.100:5000/v2/dev/myapp/tags/list获取 tag 列表(需带认证头,或已登录) - 最后建议在另一台机器上试 pull:
docker pull 192.168.1.100:5000/dev/myapp:1.0,确认分发链路完整

















