如何将本地 Docker 镜像推送到你的 Docker Hub 仓库?


一、确认你的 Docker Hub 仓库信息

你已创建了两个仓库:

  1. 公共仓库cc(公开可见,所有人都可以拉取)
  2. 个人仓库mygo(默认私有,只有你或授权用户可访问)

仓库地址格式为:

<你的Docker Hub用户名>/<仓库名>:<标签>

假设你的 Docker Hub 用户名为 001w,仓库地址分别是:

  • 公共仓库:001w/cc
  • 个人仓库:001w/mygo

二、推送镜像到公共仓库 001w/cc

✅ 步骤 1:标记本地镜像

将本地镜像(如 myapp1:latest)打上目标仓库的标签:

docker tag myapp1:latest 001w/cc:latest
✅ 步骤 2:推送镜像到 Docker Hub
docker push 001w/cc:latest
✅ 步骤 3:验证推送结果

访问 https://hub.docker.com/r/001w/cc 查看是否成功。


三、推送镜像到个人仓库 001w/mygo

✅ 步骤 1:标记本地镜像

将本地镜像(如 myapp:latest)打上目标仓库的标签:

docker tag myapp:latest 001w/mygo:latest
✅ 步骤 2:推送镜像到 Docker Hub
docker push 001w/mygo:latest
✅ 步骤 3:验证推送结果

访问 https://hub.docker.com/r/001w/mygo 查看是否成功。


四、常见错误与解决方案

错误命令错误原因正确操作
docker push 001w/cc:myapp1:latest标签格式错误(多个冒号)应为:docker push 001w/cc:latest
docker push 001w/mygo:latest 报错 denied: requested access to the resource is denied权限不足(未登录或仓库不存在)确保已登录 Docker Hub 并确认仓库存在
docker tag myapp:latest 001w/mygo缺少 :latest 标签应为:docker tag myapp:latest 001w/mygo:latest

五、完整示例流程

# 登录 Docker Hub(如果尚未登录)
docker login

# 标记并推送公共仓库 cc
docker tag myapp1:latest 001w/cc:latest
docker push 001w/cc:latest

# 标记并推送个人仓库 mygo
docker tag myapp:latest 001w/mygo:latest
docker push 001w/mygo:latest

六、注意事项

  1. 公共仓库 vs 私有仓库

    • 公共仓库(cc):所有人都可以拉取。
    • 私有仓库(mygo):默认私有,需手动设置为公共(在 Docker Hub 页面上切换)。
  2. 标签管理

    • 使用语义化标签(如 v1.0.0)而非 latest,避免版本混乱。
    • 示例:

      docker tag myapp:latest 001w/mygo:v1.0.0
      docker push 001w/mygo:v1.0.0
  3. 清理无效标签(可选):
    如果之前打过错误标签,可以删除:

    docker rmi 001w/cc:myapp1  # 删除错误标签

七、总结

  1. 推送公共仓库 cc

    docker tag myapp1:latest 001w/cc:latest
    docker push 001w/cc:latest
  2. 推送个人仓库 mygo

    docker tag myapp:latest 001w/mygo:latest
    docker push 001w/mygo:latest
  3. 验证方式

    • 访问 Docker Hub 页面查看镜像是否已上传。
    • 使用 docker pull 001w/cc:latestdocker pull 001w/mygo:latest 测试拉取。
  4. 常见问题

    • 标签格式错误:确保格式为 <用户名>/<仓库名>:<标签>
    • 权限不足:确保已登录 Docker Hub。
    • 仓库不存在:确保已在 Docker Hub 上创建仓库。

✅ 最终目标

确保你的镜像能通过以下命令拉取和运行:

docker pull 001w/cc:latest
docker run -it --rm 001w/cc:latest

docker pull 001w/mygo:latest
docker run -it --rm 001w/mygo:latest
每日更新-免费小火箭账号
不要错过任何机会,探索最新的应用和游戏,就在我们的平台。
立即访问
最后修改:2025 年 05 月 01 日
如果觉得我的文章对你有用,请随意赞赏