构建Dockerfile时出现yum: command not found错误的原因及解决
解决Docker构建时“yum: command not found”的问题
问题原因
你使用的public.ecr.aws/lambda/provided镜像默认拉取latest标签版本,AWS近期已将该镜像的底层操作系统从Amazon Linux 2(默认包管理器为yum)切换为Amazon Linux 2023(用dnf替代yum作为默认包管理器)。Docker更新后重新拉取了最新镜像,导致原yum命令无法被识别。
解决方法
有两种可行的修复方案:
方案1:指定基于Amazon Linux 2的镜像标签
若需继续使用yum,可明确指定镜像的al2标签,该版本底层系统为Amazon Linux 2,保留了yum命令:
FROM public.ecr.aws/lambda/provided:al2 ENV R_VERSION=4.3.0 RUN yum -y install wget git tar
方案2:将yum替换为dnf
若愿意适配Amazon Linux 2023,直接把yum命令替换为dnf即可,两者核心语法基本一致:
FROM public.ecr.aws/lambda/provided ENV R_VERSION=4.3.0 RUN dnf -y install wget git tar
内容的提问来源于stack exchange,提问作者eartoolbox
相关产品推荐
相关产品推荐

