(十一)使用公共 Registry
保存和分发镜像的最直接方法就是使用 Docker Hub。Docker Hub 是 Docker 公司维护的公共 Registry。用户可以将自己的镜像保存到 Docker Hub 免费的 repository 中。如果不希望别人访问自己的镜像,也可以购买私有 repository。
(1)Docker Hub 存取镜像
-
首先得在 Docker Hub 上注册一个账号。
-
在 Docker Host 上登录。
root@cuiyongchao:/dockerfile# docker login -u cuiyongchao007 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@cuiyongchao:/dockerfile#
-
修改镜像的 repository 使之与 Docker Hub 账号匹配。 Docker Hub 为了区分不同用户的同名镜像,镜像的 registry 中要包含用户名,完整格式为:[username]/xxx:tag ,我们通过
docker tag
命令重命名镜像。root@cuiyongchao:/dockerfile# docker tag httpd:latest cuiyongchao007/httpd:v1 root@cuiyongchao:/dockerfile# docker images cuiyongchao007/httpd REPOSITORY TAG IMAGE ID CREATED SIZE cuiyongchao007/httpd v1 3dd970e6b110 2 weeks ago 138MB root@cuiyongchao:/dockerfile#
注:Docker 官方自己维护的镜像没有用户名,比如 httpd。
-
通过 docker push 将镜像上传到 Docker Hub。
root@cuiyongchao:/dockerfile# docker push cuiyongchao007/httpd:v1 The push refers to repository [docker.io/cuiyongchao007/httpd] 850c0c904ff3: Pushed c264370aa736: Pushed e6f7f192bbc8: Pushed 6d80bc0bd923: Pushed d0fe97fa8b8c: Pushed v1: digest: sha256:60b82a0c2599b217d5231d3a54eb9f691ac8bc15b66f8f5f79f383f87c9c51ce size: 1366 root@cuiyongchao:/dockerfile#
Docker 会上传镜像的每一层。因为 cuiyongchao007httpd:v1 这个镜像实际上跟官方的 httpd 镜像一模一样,Docker Hub 上已经有了全部的镜像层,所以真正上传的数据很少。同样的,如果我们的镜像是基于 base 镜像的,也只有新增加的镜像层会被上传。如果想上传同一 repository 中所有镜像,省略 tag 部分就可以了,例如: docker push cuiyongchao007/httpd
-
登录 https://hub.docker.com,在Public Repository 中就可以看到上传的镜像。
-
-
这个镜像可被其他 Docker host 下载使用。
root@cuiyongchao:/dockerfile# docker pull cuiyongchao007/httpd:v1 v1: Pulling from cuiyongchao007/httpd Digest: sha256:60b82a0c2599b217d5231d3a54eb9f691ac8bc15b66f8f5f79f383f87c9c51ce Status: Downloaded newer image for cuiyongchao007/httpd:v1 docker.io/cuiyongchao007/httpd:v1
文章来源: 博客园
原文链接: https://www.cnblogs.com/cuiyongchao007/p/13927169.html
- 还没有人评论,欢迎说说您的想法!