Docker构建执行RUN apk add python时报exit code 1错误如何解决?
报错原因
你使用的node:12-alpine基础镜像对应的Alpine系统版本为v3.14及以上,该版本的Alpine官方软件源已经彻底移除了原名python的Python 2软件包,因此执行apk add --no-cache python时无法找到对应包,触发构建失败。
可行修复方法
推荐使用第一种方案,兼容绝大多数场景且无安全风险:
- 方案1:将安装命令中的
python替换为python3,修改Dockerfile对应行内容为:
如果你依赖的部分老旧Node原生模块仍然默认调用RUN apk add --no-cache python3 g++ makepython指令识别环境,可以新增软链接兼容命令指向:RUN apk add --no-cache python3 g++ make && ln -sf python3 /usr/bin/python - 方案2(不推荐):指定使用仍包含Python 2包的旧版Alpine基础镜像,将Dockerfile的基础镜像行修改为:
该方案仅临时可用,Python 2已经停止官方维护,存在已知安全漏洞。FROM node:12-alpine3.12
内容的提问来源于stack exchange,提问作者TigerJohn3
相关产品推荐
相关产品推荐

