hugo-teek is loading...

dockerhub仓库

最后更新于:

如何上传镜像到dockerhub镜像仓库,可以供大家公开访问呢

将Docker镜像上传到Docker Hub以供公开访问,可以通过以下步骤实现:

1. 创建Docker Hub账户

如果你还没有Docker Hub账户,首先需要创建一个。访问 Docker Hub 并注册一个新账户。

2. 登录Docker Hub

在你的终端或命令行中,使用以下命令登录到Docker Hub:

1docker login

输入你的Docker Hub用户名和密码完成登录。

3. 构建Docker镜像

如果你还没有构建好Docker镜像,需要先构建一个。假设你的项目目录中有一个 Dockerfile,可以使用以下命令构建镜像:

1docker build -t <your-username>/<your-repo-name>:<tag> .

例如,如果你的Docker Hub用户名是 myusername,仓库名是 myapp,标签是 v1.0,命令如下:

1docker build -t myusername/myapp:v1.0 .

4. 标记镜像(可选)

如果你已经有一个本地镜像,并且需要将其标记为你的Docker Hub镜像,可以使用以下命令:

1docker tag <local-image>:<tag> <your-username>/<your-repo-name>:<tag>

例如:

1docker tag mylocalimage:latest myusername/myapp:v1.0

5. 推送镜像到Docker Hub

使用以下命令将镜像推送到Docker Hub:

1docker push <your-username>/<your-repo-name>:<tag>

例如:

1docker push myusername/myapp:v1.0

6. 设置镜像仓库为公开

默认情况下,新创建的Docker Hub仓库是私有的。要将仓库设置为公开以便其他人可以访问:

  1. 登录到 Docker Hub
  2. 在你的个人资料中找到你刚刚创建的仓库。
  3. 点击仓库名称进入仓库详情页面。
  4. 在仓库详情页面的右上角,点击“Settings”(设置)。
  5. 在设置页面中,找到“Repository visibility”(仓库可见性)部分。
  6. 选择“Public”(公开)选项,并保存更改。

7. 验证

你可以通过访问 https://hub.docker.com/r/<your-username>/<your-repo-name> 来验证你的镜像是否已经上传成功并公开。

例如:

1https://hub.docker.com/r/myusername/myapp

示例完整流程

假设你的Docker Hub用户名是 myusername,仓库名是 myapp,标签是 v1.0,以下是一个完整的流程示例:

 1# 登录Docker Hub
 2docker login
 3
 4# 构建Docker镜像
 5docker build -t myusername/myapp:v1.0 .
 6
 7# 推送镜像到Docker Hub
 8docker push myusername/myapp:v1.0
 9
10# 设置仓库为公开(在Docker Hub网站上进行)

通过这些步骤,你就可以将Docker镜像上传到Docker Hub并使其公开供大家访问。

实际测试

 1[root@docusaurus-wiki ~]#docker login
 2Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
 3Username: onlyonexl
 4Password: 
 5WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
 6Configure a credential helper to remove this warning. See
 7https://docs.docker.com/engine/reference/commandline/login/#credentials-store
 8
 9Login Succeeded
10[root@docusaurus-wiki ~]#
 1    docker tag home2.0:latest onlyonexl/homePlus:v2.0
 2
 3    docker push onlyonexl/homePlus:v2.0
 4    
 5    
 6    
 7    
 8 [root@docusaurus-wiki ~]#docker tag home2.0:latest onlyonexl/homePlus:v2.0
 9Error parsing reference: "onlyonexl/homePlus:v2.0" is not a valid repository/tag: invalid reference format: repository name must be lowercase
10[root@docusaurus-wiki ~]#

image-20240603073035569

1docker tag home2.0:latest onlyonexl/home:v2.0
2docker push onlyonexl/home:v2.0

image-20240603073253350

image-20240603073332827

image-20240603073404956

image-20240603073444149

1docker pull onlyonexl/home:v2.0
  • 运行测试

先删除老刚才tag好的镜像:

1docker rmi onlyonexl/home:v2.0

image-20240603073555467

  • 再从dockerhub拉取镜像
1docker pull onlyonexl/home:v2.0

image-20240603073715543

可以看到,拉取成功。

  • 这里删除老容器,再次运行新容器,观察是否正常
1[root@docusaurus-wiki ~]#docker rm -f diy-index-home
2diy-index-home
3[root@docusaurus-wiki ~]#docker run -p 12445:12445 -d --name=diy-index-home --restart=always onlyonexl/home:v2.0
40924bd211a25e7ef30befb4a3859b01380ea954f4774455e2dffcfe058a3c1d4
5[root@docusaurus-wiki ~]#docker ps
6CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS                  PORTS                               NAMES
70924bd211a25        onlyonexl/home:v2.0                 "docker-entrypoint.s…"   11 seconds ago      Up 8 seconds            0.0.0.0:12445->12445/tcp            diy-index-home

访问测试:

http://onedayxyy.cn/

image-20240603074001836

代码汇总

1#拉取并运行容器
2docker run -p 12445:12445 -d --name=diy-index-home --restart=always onlyonexl/home:v2.0
3
4#域名访问
5http://onedayxyy.cn/ #能正常访问
6https://onedayxyy.cn/
推荐使用微信支付
微信支付二维码
推荐使用支付宝
支付宝二维码
最新文章

文档导航