美文网首页Docker
【现学现忘Docker基础】— 35.本地镜像推送到阿里云

【现学现忘Docker基础】— 35.本地镜像推送到阿里云

作者: 繁华似锦Fighting | 来源:发表于2021-04-24 00:08 被阅读0次

    Docker运行流程图,如下:


    1、准备工作

    (1)阿里云平台账号

    阿里云官网地址:https://www.aliyun.com/

    淘宝、支付宝账号可复用,这里不做过多说明了

    (2)找到容器镜服务界面

    在阿里云官网主页,产品 —> 容器与中间件 —> 容器镜像服务ACR —> 管理控制台



    进入到阿里云容器镜像服务界面如下:


    我们之前说过镜像加速器,今天我们来说说阿里云容器镜像仓库。

    2、阿里云容器镜像仓库的使用

    (1)创建创建命名空间

    点击左侧边栏的命名空间,再点击右上角创建命名空间,然后在弹出的对话对话框中,输入自定义命名空间的名称。

    注意:一个账号最多可以创建3个命名空间。

    创建好的命名空间如下:

    (2)创建容器镜像

    点击左侧边栏的镜像仓库,再点击创建镜像仓库。

    在弹出的界面中输入镜像仓库的信息如下:

    说明:

    • 地域:自己选择一个就好。

    • 命名空间:选择自己设置的,没有可以点击进行设置。

    • 仓库名称:自定义即可。

    • 仓库类型:私有只自己可访问,公有其他人也可以访问。(私有即可)

    • 摘要:就是对该仓库的一个简要说明。

    点击下一步,然后选择本地仓库,最后点击创建镜像仓库。

    之后就可以看到我们创建的阿里云镜像仓库了。

    重点说一下(重点,重点)

    我理解阿里云镜像仓库,存放镜像的目录如下:公网地址/命名空间/仓库:版本号

    所以我的理解:

    • 命名空间:是用来存放镜像的目录。

    • 而镜像仓库就相当于镜像名,一个镜像仓库仓库只存储一个镜像,和这个镜像的不同版本。

    即:以后在阿里云镜像仓库创建镜像命名的时候,建议以软件包名或应用名作为仓库名称

    (3)查看阿里云镜像仓库的信息

    点击仓库名称位置或者后边的管理,就能够看到我们刚刚创建的阿里云镜像仓库的详细信息。

    如下:


    说明:公网地址就是,可以通过该地址访问到这个仓库。

    下面是对阿里云镜像仓库的操作指南:

    1. 登录阿里云Docker Registry

      $ sudo docker login --username=aliyuelin registry.cn-beijing.aliyuncs.com
      

      用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。

      您可以在访问凭证页面修改凭证密码。

    2. 从Registry中拉取镜像

      $ sudo docker pull registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:[镜像版本号]
      
    3. 将镜像推送到Registry

      $ sudo docker login --username=aliyuelin registry.cn-beijing.aliyuncs.com
      $ sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:[镜像版本号]
      $ sudo docker push registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:[镜像版本号]
      

      请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。

    4. 选择合适的镜像仓库地址

      从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。

      如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-beijing.aliyuncs.com 作为Registry的域名登录。

    5. 示例

      使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。

      $ sudo docker images
      REPOSITORY                                                         TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
      registry.aliyuncs.com/acs/agent                                    0.7-dfb6816         37bb9c63c8b2        7 days ago          37.89 MB
      
      $ sudo docker tag 37bb9c63c8b2 registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816
      

      使用 "docker push" 命令将该镜像推送至远程。

      $ sudo docker push registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816
      

    3、将本地Docker镜像推送到阿里云

    我们就按照上面操作文档的第三步进行操作,将本地Docker镜像推送到阿里云镜像仓库。

    (1)登陆

    # 输入第一行命令
    [root@192 ~]# docker login --username=aliyuelin registry.cn-beijing.aliyuncs.com
    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
    

    (2)给上传镜像生成一个版本号

    命令:sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:[镜像版本号]

    说明:

    • [ImageId]:输入你本地将要上传镜像的Image Id。
    • [镜像版本号]:Docker镜像的TAG(自定义)。

    示例:

    # 查看本地Docker镜像
    [root@192 ~]# docker images
    REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
    diytomcat9   latest    12988584a30e   16 hours ago   607MB
    centos       latest    300e315adb2f   3 months ago   209MB
    

    给上传镜像生成一个版本号

    (3)推送本地镜像到阿里云镜像仓库

    执行命令:$ sudo docker push registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:[镜像版本号]

    示例:

    [root@192 ~]# docker push registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:1.8
    The push refers to repository [registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9]
    b4ef62e90bac: Pushed 
    5da8b73f85d7: Pushed 
    68a0171f3cc4: Pushed 
    76f4ae6e5125: Pushed 
    2653d992f4ef: Pushed 
    1.8: digest: sha256:4752b493708372b50f4169eee3df449caef050fc18e604849f584e49d554bbab size: 1373
    [root@192 ~]# 
    

    可以看到,向阿里云镜像仓库推送镜像的时候,也是按照镜像的层级来进行推送的。

    4、再阿里云中查看本地推送的镜像

    在阿里云官网主页,产品 —> 容器与中间件 —> 容器镜像服务ACR —> 管理控制台。

    然后镜像仓库列表中,点击wukong_tomcat9镜像仓库,然后点击左侧边栏的镜像版本,查看镜像信息。

    如下:


    5、从阿里云镜像库拉取镜像到本地

    按照上面操作文档的第二步进行操作。

    执行命令:sudo docker pull registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:[镜像版本号]

    示例:

    # 查看本地Docker镜像
    [root@192 ~]# docker images
    REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
    centos       latest    300e315adb2f   3 months ago   209MB
    
    # 从阿里云镜像库拉取镜像
    [root@192 ~]# docker pull registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:1.8
    1.8: Pulling from wukong6688/wukong_tomcat9
    7a0437f04f83: Already exists 
    ebca8570a55c: Already exists 
    52613dee4841: Already exists 
    f20d670a00b6: Already exists 
    1d6b94f6dacc: Already exists 
    Digest: sha256:4752b493708372b50f4169eee3df449caef050fc18e604849f584e49d554bbab
    Status: Downloaded newer image for registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:1.8
    registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:1.8
    
    # 再次查看本地Docker镜像
    [root@192 ~]# docker images
    REPOSITORY                                                   TAG       IMAGE ID       CREATED        SIZE
    registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9   1.8       12988584a30e   21 hours ago   607MB
    centos                                                       latest    300e315adb2f   3 months ago   209MB
    
    

    相关文章

      网友评论

        本文标题:【现学现忘Docker基础】— 35.本地镜像推送到阿里云

        本文链接:https://www.haomeiwen.com/subject/hupacltx.html