文档首页> 云容器实例 CCI> 快速入门> 构建镜像并上传镜像仓库
更新时间:2024-02-23 GMT+08:00
分享

构建镜像并上传镜像仓库

要将已有的应用部署在云容器实例上运行,首先,需要将应用构建镜像并上传镜像仓库,再在云容器实例创建负载时,拉取上传的镜像。

安装容器引擎

上传镜像前,您需要安装容器引擎,如果您已经安装了容器引擎,请确保容器引擎为1.11.2及以上版本。

  1. 参考购买弹性云服务器创建一台带有公网IP地址的Linux弹性云服务器。

    作为演示,弹性云服务器和公网IP的规格不需要太高,例如弹性云服务器的规格为“1vCPUs | 2GiB”、公网IP带宽为“1 Mbit/s”即可,操作系统请选择“CentOS 7.6”

    您也可以使用其他机器安装容器引擎,不创建弹性云服务器。

  2. 返回弹性云服务器列表,单击“远程登录”登录购买的弹性云服务器。
  3. 使用如下命令快速安装容器引擎。

    curl -fsSL get.docker.com -o get-docker.sh
    sh get-docker.sh
    sudo systemctl daemon-reload
    sudo systemctl restart docker

构建镜像

此处以如何使用Dockerfile,并使用nginx为基础镜像构建镜像2048为例。在构建镜像之前,需要先创建Dockerfile文件。

  1. 从镜像仓库拉取nginx镜像,作为基础镜像:

    docker pull nginx

  2. 下载2048静态页面应用:

    git clone https://gitee.com/jorgensen/2048.git

  3. 构建Dockerfile。

    1. 输入命令:
      vi Dockerfile
    2. 编辑Dockerfile文件内容:
      FROM nginx
      
      MAINTAINER Allen.Li@gmail.com
      COPY . /usr/share/nginx/html
      
      EXPOSE 80
      
      CMD ["nginx", "-g", "daemon off;"]
      • nginx为基础镜像,基础镜像可根据创建的应用类型进行选择,例如创建的是Java应用,基础镜像可选择Java镜像。
      • /usr/share/nginx/html为nginx存放web静态页面的路径。
      • 80为容器端口。

      Dockerfile内容格式,详情请参考Dockerfile reference

  1. 构建镜像2048。

    1. 输入命令:
      docker build -t='2048' .

    创建镜像成功,如下图:

    图1 成功构建镜像
    1. 查询镜像:
      docker images

      显示如下图,说明镜像构建成功:

      图2 查询镜像

上传镜像

  1. 连接容器镜像服务

    1. 登录管理控制台,展开“服务列表”,选择“容器服务 > 容器镜像服务”
    2. 在左侧菜单栏选择“我的镜像”,单击右侧“客户端上传”,在弹出的页面中单击“生成临时登录指令”,单击复制登录指令。

      此处生成的临时登录指令有效期为24小时,若需要长期有效的登录指令,请参见获取长期有效登录指令

    3. 在安装容器引擎的机器中执行上一步复制的登录指令。

      登录成功会显示“login succeeded”。

  2. 上传镜像

    1. 在安装容器引擎的机器给2048镜像打标签。

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

      样例如下:

      docker tag 2048:latest swr.cn-north-4.myhuaweicloud.com/cloud-develop/2048:latest

      其中:

      • swr.cn-north-4.myhuaweicloud.com为容器镜像服务的镜像仓库地址,本实验在北京四环境,则该地址为swr.cn-north-4.myhuaweicloud.com。
      • cloud-develop为镜像的组织名称。
      • 2048:latest为镜像名称和版本号。
    2. 上传镜像至镜像仓库。

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

      样例如下:

      docker push swr.cn-north-4.myhuaweicloud.com/cloud-develop/2048:latest

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

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

      返回容器镜像服务控制台,在“我的镜像”页面,执行刷新操作后可查看到对应的镜像信息。

分享:

    相关文档

    相关产品