zoukankan      html  css  js  c++  java
  • 容器技术(三) 使用公共 Registry【14】

    (十一)使用公共 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
      
      
  • 相关阅读:
    【知识总结】Burnside 引理和 Polya 定理
    【洛谷1973】[NOI2011]NOI嘉年华(动态规划)
    【洛谷4705】玩游戏(多项式)
    【洛谷5366】[SNOI2017] 遗失的答案(状压DP)
    【Codeforces235D_CF235D】Graph Game(概率_基环树)
    【Codeforces553E_CF553E】Kyoya and Train(概率_CDQ分治_FFT)
    【知识总结】博弈论入门
    Saltstack
    Tomcat 的 catalina.out 日志分割
    eclipse的工程里的*.properties文件默认以unicode的编码形式显示
  • 原文地址:https://www.cnblogs.com/cuiyongchao007/p/13927169.html
Copyright © 2011-2022 走看看