构建镜像

本教程演示如何在平台上构建容器镜像(container image)并推送到指定的容器镜像仓库(container registry)。

运行示例

请按照使用方法准备环境,然后前往本教程对应的示例,参照其 README 文档运行。

其中,创建包含身份信息的 Secret 这一步骤也可以在模型构建控制台中通过创建 Docker 类型的 Secret 来完成,如下图所示。详情请参阅创建 Secret

secret-form

检查构建进度和结果

在模型构建控制台的左侧导航菜单中点击构建 > Image Builder,然后点击刚创建的 Image Builder 右侧的详情,查看其详情和日志。拉取基础镜像、构建镜像和推送镜像都需要花费一定的时间,请耐心等待。

image-builder
detail
log

一段时间后,构建完成的镜像被推送到相应的 registry 中。

pushed-to-registry

FAQs

Unpacking rootfs 失败

使用 ImageBuilder 制作镜像时,有时会出现类似以下的错误:

INFO[0009] Unpacking rootfs as cmd RUN apt-get -qq update &&     apt-get -qq install --no-install-recommends -y curl requires it. 
error building image: error building stage: failed to get filesystem from image: stream error: stream ID 17; PROTOCOL_ERROR; received from peer

但是该错误信息并不准确,经分析,实际导致镜像 build 失败的可能原因是:镜像(Dockerfile 中 FROM 语句所引用的镜像)提取失败。

提取失败可能有以下原因:

  • 镜像来源于无法访问或下载速度过慢的仓库

解决方法:

  1. 切换到服务质量更好的的 Registry,例如本地网络部署的私有化 Registry,或其他 caching Regisry。
  2. 使用代理服务器,通过该代理下载镜像。