Docker-基础005-发布自己的镜像
学习内容总结来自B站UP主"遇见狂神说"的Docker教学视频: https://www.bilibili.com/video/BV1og4y1q7M4
发布自己的镜像
在DockerHub上发布
-
在dockerhub官网
https://hub.docker.com/
注册账号 -
在终端中进行登录
docker login -u username -p password
-
docker push
上传至DockerHub服务器-
重新命名镜像和tag
docker images # 打印结果 REPOSITORY TAG IMAGE ID CREATED SIZE mytomcat latest 17c56d67c1d8 16 hours ago 663MB
-
docker tag
命令重命名为 alexgong/tomcat:1.0 , 一般格式为作者/镜像:[TAG]
docker tag mytomcat alexgong/tomcat:1.0 docker images # 打印结果 REPOSITORY TAG IMAGE ID CREATED SIZE alexgong/tomcat 1.0 17c56d67c1d8 16 hours ago 663MB
-
docker push
命令上传镜像docker push alexgong/tomcat:1.0 # 打印结果 The push refers to repository [docker.io/alexgong/tomcat] b8a5a0eded0e: Pushed d1d89a1c488f: Pushed b70c7515d8e2: Pushed 86e63b0c7201: Pushed 394cca49eb81: Pushed eb29745b8228: Pushed 1.0: digest: sha256:27b242f62542d1cbd669a6e636d6526dc508ff30dfb8401d443415ed32817b16 size: 1585
-
在阿里云镜像服务上发布
-
注册登录阿里云
-
来到容器镜像服务
-
先创建命名空间, 再创建镜像仓库
- 创建命名空间, 一个账号最多创建三个, 推荐创建的命名空间用来对应一个公司、组织或个人用户,例如Aliyun、Obama。不推荐用来对应一个模块或系统,例如Tomcat、CentOS,应用或模块推荐使用仓库进行管理。
- 创建镜像仓库, 填写属于的命名空间/仓库名称/仓库类型/摘要
- 选择本地仓库
-
点击管理, 进入仓库信息页, 可以看到如何发布docker
-
docker login
登录阿里云账户# 如果之前使用了`docker login`登录了DockerHub, 也不需要执行`docker logout`, 可以同时登录多个网站 # 登录阿里云 sudo docker login --username=alex马上读初一 registry.cn-shanghai.aliyuncs.com # 打印结果 Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded
可以查看
/root/.docker/config.json.
文件, 查看登录的记录(root@Aliyun-Alex:/home/alex/docker/test/mytomcat/logs)# cat /root/.docker/config.json { "auths": { "https://index.docker.io/v1/": { "auth": "YWxleGdvbmc6OTYyNDY0aHVhbmc2MTI=" }, "registry.cn-shanghai.aliyuncs.com": { "auth": "YWxleOmprOS4iuivu+WIneS4gDpBbGV4LUdDWA==" } }, "HttpHeaders": { "User-Agent": "Docker-Client/19.03.12 (linux)" } }
-
docker tag
修改镜像名称和版本号docker tag 17c56d67c1d8 registry.cn-shanghai.aliyuncs.com/alexgong/tomcat:1.0 (root@Aliyun-Alex:/home/alex/docker/test/mytomcat/logs)# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mytomcat latest 17c56d67c1d8 17 hours ago 663MB registry.cn-shanghai.aliyuncs.com/alexgong/tomcat 1.0 17c56d67c1d8 17 hours ago 663MB
如果前面把同一个镜像发布到了DockerHub上了的话, 那么这一步改名必须要执行, 不然直接
docker push
的话还是会push到了dockerhub上了 -
docker push
推送镜像docker push registry.cn-shanghai.aliyuncs.com/alexgong/tomcat:1.0 # 打印结果 The push refers to repository [registry.cn-shanghai.aliyuncs.com/alexgong/tomcat] b8a5a0eded0e: Pushed d1d89a1c488f: Pushed b70c7515d8e2: Pushed 86e63b0c7201: Pushed 394cca49eb81: Pushed eb29745b8228: Pushed 1.0: digest: sha256:27b242f62542d1cbd669a6e636d6526dc508ff30dfb8401d443415ed32817b16 size: 1585
-
在镜像版本侧边栏查看上传的镜像
-