基于已有镜像构建
更新时间:2024-09-04
容器镜像服务CCR企业版支持基于已有镜像快速构建新的容器镜像,构建完成后自动推送到镜像仓库。本文将介绍如何使用容器镜像企业版构建镜像以及不同场景的示例。
相关概念
镜像:一种特殊的文件系统,包含了容器运行时所需的程序、库、资源、配置等,相当于是对软件运行环境的封装。
Dockerfile:一种用来构建镜像的文本文件,内容包含了构建镜像过程中所需的指令、依赖项列表和一些重要的说明。关于Dockerfile的语法详见其官方文档。
前提条件
使用限制
- 仅支持构建amd64架构的容器镜像。
- 不支持构建50GB以上的容器镜像。
操作步骤
- 登录容器镜像服务控制台。
- 在左侧导航栏选择实例列表进入管理页面。
- 在左侧导航栏选择镜像仓库进入“镜像仓库”页面。
- 单击目标镜像仓库进入镜像管理页面。
- 在左侧导航栏选择镜像构建进入“镜像构建”页面。
-
单击创建镜像构建进入创建页面,完成相关配置:
配置项 必选/可选 配置说明 构建方式 必选 选择镜像构建的方式,支持基于已有镜像和基于Dockerfile,当前以基于已有镜像为例。 容器镜像 必选 选择用于构建的镜像仓库,您可以选择容器镜像CCR中已有仓库,也可以直接输入外部仓库的访问地址,请确保能够访问外部仓库。 镜像版本 必选 选择用于构建的镜像版本,您可以选择容器镜像CCR中已有镜像版本,也可以直接输入外部仓库的镜像版本。 依赖项 必选 基于已选择的容器镜像安装额外的依赖项,支持添加多个依赖项。依赖项的安装方式支持apt、pip2、pip3、yum。 镜像版本 必选 输入新构建镜像的版本,只能包含大⼩写字⺟,数字和.-特殊字符,必须以字母或数字开头,⻓度为1-127。 - 单击确定开始执行镜像构建任务,当状态最终变为
构建成功
即可在版本管理页面使用新建构建的容器镜像。 - 若状态变为
构建失败
时,单击【查看构建日志】进行问题排查。
示例
基于已有镜像构建新镜像
当前将介绍如何以容器镜像服务CCR中的镜像为基础镜像,通过安装额外的依赖项构建出新的自定义镜像。
- 在创建镜像构建页面单击选择镜像,在镜像列表中选择CCR企业版或个人版中符合条件的已有镜像。
- 单击选择版本,在版本列表中选择符合条件的已有镜像版本。
-
在已有镜像的基础上选择不同的安装方式以及特定版本的依赖项。如在基础镜像中安装vim,则选择apt的安装方式,并在对应的输入框中填写vim。如安装Python3相关的依赖包则选pip3并填写对应的依赖包名称及版本。
pip2
和pip3
分别对应Python2和Python3依赖项的安装方式,通常不会同时安装。apt
和yum
分别对应Ubuntu和Centos依赖项的安装方式,通常不会同时安装。
- 输入新构建的镜像版本名称,单击确定即可开始构建镜像。
基于Dockerfile构建新镜像
当前将介绍如何基于Dockerfile并按照规范编写Dockerfile即可触发自定义镜像构建。以下是一个Dockerfile的示例:
# 配置基础镜像
FROM ubuntu:18.04
# 安装一系列 APT 依赖项
RUN apt-get update && apt-get install -y --no-install-recommends \
python3-pip \
vim && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 安装一系列 PIP 依赖项
RUN pip3 install\
numpy==1.19.5 \
scipy==1.5.4
# 配置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
说明:
配置基础镜像时,需在
FROM
字段后填写基础镜像的地址。