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

Posted gsophy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第 3 章 镜像 - 019 - 使用公共 Registry相关的知识,希望对你有一定的参考价值。

保存和分发镜像的最直接方法就是使用 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 [email protected]:~# 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 [email protected]:~# 

输入密码后登录成功。

 

修改镜像的 repository 使之与 Docker Hub 账号匹配。

Docker Hub 为了区分不同用户的同名镜像,镜像的 registry 中要包含用户名,完整格式为:[username]/xxx:tag. 可以通过 docker tag 命令重命名镜像。

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

注:Docker 官方自己维护的镜像没有用户名,比如 httpd。

通过 docker push 将镜像上传到 Docker Hub。 

[email protected]:~# 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 [email protected]:~# 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的主要内容,如果未能解决你的问题,请参考以下文章

第 3 章 镜像 - 013 - Dockerfile 构建镜像

在Docker中创建私有仓库

第 3 章 镜像 - 015 - 调试 Dockerfile

第 3 章 镜像 - 020 - 搭建本地 Registry

【西瓜书】第3章 线型模型

一个人开发一个产品,小程序从0到1,第3章 应用文件