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
      
    • 在镜像版本侧边栏查看上传的镜像

posted @ 2020-07-30 15:42  Alex-GCX  阅读(190)  评论(0编辑  收藏  举报