You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker构建镜像时akamai install purge失败,容器内执行正常

解决Docker构建时Akamai CLI安装purge包失败的问题

你遇到的问题核心是32位的Akamai CLI二进制在amd64架构的Ubuntu镜像中运行时缺少必要的依赖,导致构建时akamai install purge命令执行异常,错误被CLI捕获后显示为“包不可用”;而进入容器后,环境可能自动修复了依赖(比如交互式场景下的隐式依赖安装),因此命令能正常执行。

方案1:添加32位架构支持与运行依赖

修改Dockerfile,先启用i386架构并安装32位程序所需的基础依赖,确保Akamai CLI能稳定运行:

FROM ubuntu:20.04

# 启用i386架构并安装32位运行依赖
RUN dpkg --add-architecture i386 && \
    apt-get update && \
    apt-get install -y --no-install-recommends \
        libc6-i386 \
        lib32gcc1 \
        lib32z1 \
        wget && \
    rm -rf /var/lib/apt/lists/*

# 安装Go(若后续无需Go环境可直接移除该段)
RUN wget https://dl.google.com/go/go1.21.0.linux-amd64.tar.gz && \
    tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz && \
    export PATH=$PATH:/usr/local/go/bin && \
    go version && \
    rm go1.21.0.linux-amd64.tar.gz

# 配置Akamai CLI
COPY akamai-v1.5.6-linux386 .
RUN chmod +x akamai-v1.5.6-linux386 && \
    mv akamai-v1.5.6-linux386 /usr/local/bin/akamai

# 刷新包索引并安装purge包
RUN akamai list && \
    akamai install purge -y

EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

方案2:改用amd64版本的Akamai CLI

如果不需要32位版本,直接下载对应amd64架构的Akamai CLI二进制文件,从根源避免架构兼容问题:

FROM ubuntu:20.04

RUN apt-get update && \
    apt-get install -y --no-install-recommends wget && \
    rm -rf /var/lib/apt/lists/*

# 下载amd64版本的Akamai CLI
RUN wget https://github.com/akamai/cli/releases/download/v1.5.6/akamai-v1.5.6-linuxamd64 && \
    chmod +x akamai-v1.5.6-linuxamd64 && \
    mv akamai-v1.5.6-linuxamd64 /usr/local/bin/akamai

RUN akamai install purge -y

EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

额外优化建议

  • 合并重复的apt-get update命令,减少镜像层数与构建时间
  • 添加rm -rf /var/lib/apt/lists/*清理apt缓存,缩小镜像体积
  • 若无需Go环境,直接移除Go安装步骤,进一步简化镜像内容

内容的提问来源于stack exchange,提问作者Hari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 20:16:02