dockerhub仓库
如何上传镜像到dockerhub镜像仓库,可以供大家公开访问呢
将Docker镜像上传到Docker Hub以供公开访问,可以通过以下步骤实现:
1. 创建Docker Hub账户
如果你还没有Docker Hub账户,首先需要创建一个。访问 Docker Hub并注册一个新账户。
2. 登录Docker Hub
在你的终端或命令行中,使用以下命令登录到Docker Hub:
sh
dockerlogin
输入你的Docker Hub用户名和密码完成登录。
3. 构建Docker镜像
如果你还没有构建好Docker镜像,需要先构建一个。假设你的项目目录中有一个 Dockerfile
,可以使用以下命令构建镜像:
sh
dockerbuild-t<your-username>/<your-repo-name>:<tag>.
例如,如果你的Docker Hub用户名是 myusername
,仓库名是 myapp
,标签是 v1.0
,命令如下:
sh
dockerbuild-tmyusername/myapp:v1.0.
4. 标记镜像(可选)
如果你已经有一个本地镜像,并且需要将其标记为你的Docker Hub镜像,可以使用以下命令:
sh
dockertag<local-image>:<tag><your-username>/<your-repo-name>:<tag>
例如:
sh
dockertagmylocalimage:latestmyusername/myapp:v1.0
5. 推送镜像到Docker Hub
使用以下命令将镜像推送到Docker Hub:
sh
dockerpush<your-username>/<your-repo-name>:<tag>
例如:
sh
dockerpushmyusername/myapp:v1.0
6. 设置镜像仓库为公开
默认情况下,新创建的Docker Hub仓库是私有的。要将仓库设置为公开以便其他人可以访问:
- 登录到 Docker Hub。
- 在你的个人资料中找到你刚刚创建的仓库。
- 点击仓库名称进入仓库详情页面。
- 在仓库详情页面的右上角,点击“Settings”(设置)。
- 在设置页面中,找到“Repository visibility”(仓库可见性)部分。
- 选择“Public”(公开)选项,并保存更改。
7. 验证
你可以通过访问 https:dockerlogin# 构建Docker镜像dockerbuild-tmyusername/myapp:v1.0.# 推送镜像到Docker Hubdockerpushmyusername/myapp:v1.0# 设置仓库为公开(在Docker Hub网站上进行)
通过这些步骤,你就可以将Docker镜像上传到Docker Hub并使其公开供大家访问。
实际测试
bash
[root@docusaurus-wiki ~]#docker loginLoginwithyourDockerIDtopushandpullimagesfromDockerHub.Ifyoudon't have a Docker ID,head over to https:Username:onlyonexlPassword:WARNING!Your password will be stored unencrypted in /root/.docker/config.json.Configure a credential helper to remove this warning. Seehttps:Login Succeeded[root@docusaurus-wiki ~]#
bash
dockertaghome2.0:latestonlyonexl/homePlus:v2.0dockerpushonlyonexl/homePlus:v2.0[root@docusaurus-wiki ~]#docker tag home2.0:latest onlyonexl/homePlus:v2.0Errorparsingreference:"onlyonexl/homePlus:v2.0"isnotavalidrepository/tag:invalidreferenceformat:repositorynamemustbelowercase[root@docusaurus-wiki ~]#
bash
dockertaghome2.0:latestonlyonexl/home:v2.0dockerpushonlyonexl/home:v2.0
bash
dockerpullonlyonexl/home:v2.0
- 运行测试
先删除老刚才tag好的镜像:
bash
dockerrmionlyonexl/home:v2.0
- 再从dockerhub拉取镜像
bash
dockerpullonlyonexl/home:v2.0
可以看到,拉取成功。
- 这里删除老容器,再次运行新容器,观察是否正常
bash
[root@docusaurus-wiki ~]#docker rm -f diy-index-homediy-index-home[root@docusaurus-wiki ~]#docker run -p 12445:12445 -d --name=diy-index-home--restart=alwaysonlyonexl/home:v2.00924bd211a25e7ef30befb4a3859b01380ea954f4774455e2dffcfe058a3c1d4[root@docusaurus-wiki ~]#docker psCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES0924bd211a25onlyonexl/home:v2.0"docker-entrypoint.s…"11secondsagoUp8seconds0.0.0.0:12445->12445/tcpdiy-index-home
访问测试: