dockerHub怎么提交?
A
匿名
Docker Hub 推送与拉取教程
本文介绍如何将本地 Docker 镜像推送到 Docker Hub,以及如何从 Docker Hub 拉取镜像。
1. 什么是 Docker Hub
Docker Hub 是官方提供的公共镜像仓库,你可以将自己的 Docker 镜像上传(push)到 Docker Hub,也可以随时从仓库拉取(pull)镜像使用。
官方地址: https://hub.docker.com
2. 本地登录 Docker Hub
方法一:账号密码登录
Bash1docker login
输入 Docker Hub 的用户名与密码即可。
方法二:使用 Docker Access Token 登录(推荐)
- 登录 Docker Hub
- 进入:Account Settings → Security → New Access Token
- 创建一个 Token
- 在终端使用 Token 登录:
Bash1docker login -u <你的用户名> --password-stdin
然后输入 token 内容,例如:
Bash1echo "your_token_here" | docker login -u <你的用户名> --password-stdin
3. 给镜像打标签(tag)
推送前必须给镜像打上仓库格式的 tag:
格式:
docker tag 本地镜像名:版本 dockerhub用户名/仓库名:版本
示例:
Bash1docker tag myapp:latest jhonhans/myapp:latest
4. 推送镜像到 Docker Hub(push)
Bash1docker push jhonhans/myapp:latest
如果成功,会看到 layer 上传过程与 latest: digest 输出。
5. 从 Docker Hub 拉取镜像(pull)
Bash1docker pull jhonhans/myapp:latest
拉取完成后,可正常运行:
Bash1docker run -it --rm jhonhans/myapp:latest
6. 常见错误与解决方案
❌ repository does not exist or may require authorization
原因与解决:
| 可能原因 | 解决方案 |
|---|---|
| 仓库名写错了 | 检查 docker tag 和 docker push 的名称一致 |
| 没有登录或 token 无效 | 重新执行 docker login |
| 仓库是 Private 且你用的 Token 权限不足 | 创建新的 Access Token(Read & Write) |
❌ insufficient_scope: authorization failed
一般是 push 权限不够 解决方法:重新登录或使用带写权限的 token:
Bash1echo "your_token" | docker login -u <你的用户名> --password-stdin
7. 删除 Docker Hub 上的镜像(操作在 UI 上进行)
Docker Hub 不能用 CLI 删除镜像,需要在 Web 页面中:
Repositories → 选择仓库 → Tags → Delete
8. 推送镜像的一条龙示例
Bash1# 1. 登录 2echo "your_token" | docker login -u jhonhans --password-stdin 3 4# 2. 构建镜像 5docker build -t myapp . 6 7# 3. Tag 镜像 8docker tag myapp:latest jhonhans/myapp:latest 9 10# 4. 推送 11docker push jhonhans/myapp:latest 12 13# 5. 拉取测试 14docker pull jhonhans/myapp:latest
如果你需要,我还可以:
✅ 帮你写成更详细版本 ✅ 帮你做一个 配套的 Dockerfile 示例 ✅ 写一个 完整的项目 README.md(包含构建、部署)

