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

Mac M1构建Docker ClamAV AWS Lambda Layer遇架构适配错误求助

解决AWS Lambda ClamAV容器构建时找不到x86_64 clamav包的问题

问题根源

你当前构建环境使用的是aarch64(ARM)架构的容器基础镜像,EPEL源中仅提供对应架构的clamav包,因此指定--archlist=x86_64会导致找不到匹配包。

两种解决方案

方案1:适配ARM架构构建(推荐,Lambda支持arm64,成本更低性能更好)

修改Dockerfile中的yumdownloader命令,移除x86_64架构限制,直接下载当前架构的包:

RUN yumdownloader -x *i686 clamav

后续的clamav解压、配置步骤无需修改,ARM版本的clamav可以直接在Lambda的arm64运行时环境中工作。部署Lambda函数时,选择arm64架构即可。

方案2:强制构建x86_64架构镜像

如果必须使用x86_64架构,在执行docker build时指定平台参数,强制拉取x86_64版本的基础镜像并模拟x86_64环境:

docker build --platform linux/amd64 -t lambda-clamav .

此时原Dockerfile中的yumdownloader -x *i686 --archlist=x86_64 clamav命令可以正常执行,因为容器环境已切换为x86_64,EPEL源会提供对应架构的包。部署Lambda函数时,选择x86_64架构。

额外检查

确保EPEL源安装正确,在容器内执行以下命令验证:

yum repolist enabled | grep epel

如果输出包含epel源信息,说明安装正常;若未找到,可重新执行:

amazon-linux-extras install epel -y
yum clean all && yum makecache

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 16:45:55