(十一)使用公共 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 中就可以看到上传的镜像。

      1603879248162

  • 这个镜像可被其他 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

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!