1. 程式人生 > >使用公共 Registry - 每天5分鐘玩轉 Docker 容器技術(19)

使用公共 Registry - 每天5分鐘玩轉 Docker 容器技術(19)

docker 教程 容器

保存和分發鏡像的最直接方法就是使用 Docker Hub。

Docker Hub 是 Docker 公司維護的公共 Registry。用戶可以將自己的鏡像保存到 Docker Hub 免費的 repository 中。如果不希望別人訪問自己的鏡像,也可以購買私有 repository。

除了 Docker Hub,quay.io 是另一個公共 Registry,提供與 Docker Hub 類似的服務。

下面介紹如何用 Docker Hub 存取我們的鏡像。

  1. 首先得在 Docker Hub 上註冊一個賬號。

  2. 在 Docker Host 上登錄。
    技術分享

    這裏用的是我自己的賬號,用戶名為 cloudman6,輸入密碼後登錄成功。

  3. 修改鏡像的 repository 使之與 Docker Hub 賬號匹配。
    Docker Hub 為了區分不同用戶的同名鏡像,鏡像的 registry 中要包含用戶名,完整格式為:[username]/xxx:tag
    我們通過 docker tag 命令重命名鏡像。
    技術分享

    註:Docker 官方自己維護的鏡像沒有用戶名,比如 httpd。

  4. 通過 docker push 將鏡像上傳到 Docker Hub。
    技術分享

    Docker 會上傳鏡像的每一層。因為 cloudman6/httpd:v1 這個鏡像實際上跟官方的 httpd 鏡像一模一樣,Docker Hub 上已經有了全部的鏡像層,所以真正上傳的數據很少。同樣的,如果我們的鏡像是基於 base 鏡像的,也只有新增加的鏡像層會被上傳。如果想上傳同一 repository 中所有鏡像,省略 tag 部分就可以了,例如:
    docker push cloudman6/httpd

  5. 登錄 https://hub.docker.com,在Public Repository 中就可以看到上傳的鏡像。
    技術分享
    如果要刪除上傳的鏡像,只能在 Docker Hub 界面上操作。

  6. 這個鏡像可被其他 Docker host 下載使用了。

    技術分享

下一節討論如何搭建本地 Registry。

技術分享

使用公共 Registry - 每天5分鐘玩轉 Docker 容器技術(19)