说明

以下仅讨论在中国地区可以访问,且免费的容器镜像构建方法。
构建容器常见问题

  1. 资源不够,CPU和内存不够,导致构建缓慢。
  2. 网络延迟高。部分开源项目存放资源的节点网络延迟很高,资源下载缓慢。即便是海外网络,下载也缓慢。
  3. 镜像存储。小项目懒得部署harbor,一次构建,多处使用时不方便。
  4. 保密。主流构建镜像的平台大多是构建后自动公开,无法满足私密使用需求。

腾讯CNB可以解决以上问题。
腾讯CNB代码平台自带免费容器镜像构建功能,
在线构建远比本地构建更方便,主要体现在一次编写,长期可用。离线构建要考虑文件存放位置,文件要跟随一起复制,占用存储大。必须拿到真实的构建资源,十分适合保密环境。
在线构建只需要在构建时下载资源,十分适合不保密的环境。

案例

以以下dockerfile为例

# 必须使用指定的基础镜像
FROM maven:3.8.7-openjdk-18

# 创建存放git 的目录
RUN mkdir -p /usr/local/git

# 在线下载 git 源码包
RUN microdnf install -y wget gcc make openssl-devel zlib-devel libcurl-devel expat-devel gettext-devel perl-CPAN diffutils \
    && wget -O /tmp/git.tar.gz https://www.kernel.org/pub/software/scm/git/git-2.55.0.tar.gz

# 解压包到指定目录,编译安装(禁用 Rust 组件,无需 cargo),删除压缩包
RUN tar -zxf /tmp/git.tar.gz -C /usr/local/git --strip-components=1 \
    && cd /usr/local/git \
    && ./configure \
    && make NO_RUST=YesPlease -j$(nproc) \
    && make NO_RUST=YesPlease install \
    && rm -f /tmp/git.tar.gz \
    && microdnf clean all

# 将 git 可执行文件目录添加到系统 PATH,确保全局可调用
ENV PATH="/usr/local/git/bin:${PATH}"

# 验证 git 是否可用(构建时检查)
RUN git --version || { echo "git 安装失败"; exit 1; }

在GitHub构建需要32分钟https://github.com/zhuyifeiRuichuang/maven-dev/actions/runs/29547512515
在腾讯CNB构建需要22分钟https://cnb.cool/zhudev-2025/dev/-/build/logs/cnb-2to-1jtmq8pm5
没在docker hub测试,我的免费适用到期了。
在腾讯云构建直接超时,注意,腾讯云构建是免费的,但腾讯云构建特别慢。腾讯云和腾讯CNB是不同的东西。
阿里云个人版镜像构建的超时时间设定为30分钟,可以白嫖的资源受限,无法构建较大容器镜像。配置较为繁琐。
华为云不支持容器镜像公开,满足保密需求,但无法实现一次构建多处使用,构建镜像后,必须要在环境登录账户才能拉取镜像,不适合集群环境。

总结

如果有构建容器镜像需求,优选腾讯CNB,主要优势有,当前阶段免费用,可以白嫖免费资源。国内直连,国内直接访问腾讯CNB,无网络问题。构建速度快,开源项目,无论你的代码平台在哪里,都可以快速构建容器镜像。配置编写简单,腾讯CNB自带的AI可以帮你完整编写配置,指导你完成调测,十分方便。使用可控,可以公开,也可改为私密仅自己下载,确保容器镜像可控。比docker hub和GitHub给的资源大方。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐