1. 程式人生 > >第 3 章 鏡像 - 019 - 使用公共 Registry

第 3 章 鏡像 - 019 - 使用公共 Registry

使用 ubuntu username gist scene oot ott 技術分享 tps

保存和分發鏡像的最直接方法就是使用 Docker Hub。https://hub.docker.com/

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

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

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

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

在 Docker Host 上登錄。

1 root@ubuntu:~# docker login
-u gsophy 2 Password: 3 WARNING! Your password will be stored unencrypted in /root/.docker/config.json. 4 Configure a credential helper to remove this warning. See 5 https://docs.docker.com/engine/reference/commandline/login/#credentials-store 6 7 Login Succeeded 8 root@ubuntu:~#

輸入密碼後登錄成功。

修改鏡像的 repository 使之與 Docker Hub 賬號匹配。

Docker Hub 為了區分不同用戶的同名鏡像,鏡像的 registry 中要包含用戶名,完整格式為:[username]/xxx:tag. 可以通過 docker tag 命令重命名鏡像。

1 root@ubuntu:~# docker tag httpd:latest gsophy/docker.edu:v1
2 root@ubuntu:~# docker images gsophy/docker.edu:v1 
3 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
4 gsophy/docker.edu   v1                  ef1dc54703e2        12
days ago 132MB 5 root@ubuntu:~#

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

通過 docker push 將鏡像上傳到 Docker Hub。

root@ubuntu:~# docker push gsophy/docker.edu:v1
The push refers to repository [docker.io/gsophy/docker.edu]
64446057e402: Layer already exists
13a694db88ed: Layer already exists
3fc0ec65884c: Layer already exists
30d0b099e805: Layer already exists
7b4e562e58dc: Layer already exists
v1: digest: sha256:246fed9aa9be7aaba1e04d9146be7a3776c9a40b5cfb3242d3427f79edee37db size: 1367

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

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

技術分享圖片

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

1 root@ubuntu:~# docker pull gsophy/docker.edu:v1 
2 v1: Pulling from gsophy/docker.edu
3 177e7ef0df69: Pull complete 
4 65e7b631411e: Pull complete  
5 3249ef8b9272: Pull complete  
6 43ed8fedd0f6: Pull complete 
7 02d3f33bda9d: Pull complete  
8 Digest: sha256:56ae0d287fc1bbb470a9773d1451d470c281850bf7ab4001d5b1335a94c033ed
9 Status: Downloaded newer image for gsophy/docker.edu:v1

---------------------引用來自-----------------------

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587623&idx=1&sn=1ad6234a72bb3d4840adf7d211e1888b&chksm=8d3080beba4709a8753bbba67c49928380cefd3eae4efdc78309b21e9c3220753a12d072dd37&scene=21#wechat_redirect

第 3 章 鏡像 - 019 - 使用公共 Registry