1. 程式人生 > 實用技巧 >Docker-基礎005-釋出自己的映象

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
      
    • 在映象版本側邊欄檢視上傳的映象