文档首页/ 基因容器 GCS/ 常见问题/ 如何上传Docker镜像至容器镜像服务?
更新时间:2021-03-18 GMT+08:00
分享

如何上传Docker镜像至容器镜像服务?

本文以一个2048应用为例,讲述根据该应用编写Dockerfile文件构建镜像并上传至容器镜像服务的操作。您可以编写一个Dockerfile文件,以alpine:3.7为基础镜像,来构建一个2048容器镜像。

前提条件

  • 已安装Docker,如未安装可参见安装Docker
  • 已获取2048应用,并将该镜像下载至本地。

创建组织

组织用于隔离镜像,并为租户下用户指定不同的权限(读取、编辑、管理)。

  • 读取:只能下载镜像,不能上传。
  • 编辑:下载镜像、上传镜像、编辑镜像属性以及创建触发器
  • 管理:下载镜像上传镜像、删除镜像或版本、编辑镜像属性、添加授权、添加触发器以及共享镜像。
  1. 登录容器镜像服务控制台。
  2. 在左侧菜单栏选择“组织管理”,单击右侧“创建组织”,在弹出的页面中填写“组织名称”,然后单击“确定”

    图1 创建组织

客户端上传镜像

docker客户端上传镜像,是指使用docker命令将镜像上传到容器镜像服务的镜像仓库。

本章节以2048-demo:v1镜像为例,介绍如何上传镜像。上传成功后,在“我的镜像”中显示已上传成功的镜像。

  • 使用客户端上传镜像,镜像的每个layer大小不能超过10G。
  • 上传镜像的Docker客户端版本必须为1.11.2及以上。
  1. 连接容器镜像服务。

    1. 登录容器镜像服务控制台。
    2. 在左侧菜单栏选择“我的镜像”,单击右侧“客户端上传”,在弹出的页面中单击“生成临时的docker login指令”,单击复制docker login指令。docker login指令末尾的域名即为当前镜像仓库地址,记录该地址。
      图2 获取docker login指令

      此处获取的docker login指令有效期为16小时,若需要长期有效的docker login指令,请参见获取长期有效docker login指令

    3. 在安装Docker的机器中执行上一步复制的docker login指令。

      登录成功会显示“login succeeded”

  1. 在安装docker的机器给2048-demo:v1镜像打标签。

    docker tag [镜像名称:版本名称] [镜像仓库地址]/[组织名称]/[镜像名称:版本名称]

    镜像名称不支持多级目录格式,例如:镜像名称可命名为“2048-demo”,不可命名为“2048-demo/test”。

    样例如下:

    docker tag 2048-demo:v1 swr.cn-north-1.myhuaweicloud.com/group/2048-demo:v1

    其中:

    • swr.cn-north-1.myhuaweicloud.com为容器镜像服务的镜像仓库地址。
    • group为组织名称,如果该组织还没有创建,容器镜像服务会根据组织名称自动创建一个组织。
    • 2048-demo:v1 为镜像名称和版本号。

  1. 上传镜像至镜像仓库

    docker push [镜像仓库地址]/[组织名称]/[镜像名称:版本名称]

    样例如下:

    docker push swr.cn-north-1.myhuaweicloud.com/group/2048-demo:v1

    终端显示如下信息,表明push镜像成功。

    6d6b9812c8ae: Pushed 
    695da0025de6: Pushed 
    fe4c16cbf7a4: Pushed 
    v1: digest: sha256:eb7e3bbd8e3040efa71d9c2cacfa12a8e39c6b2ccd15eac12bdc49e0b66cee63 size: 948

    返回系统,在“我的镜像”页面,执行刷新操作后可查看到对应的镜像信息。

相关文档