基于bde2020/spark-worker镜像构建Docker时apt-get命令未找到报错求助
解决Docker构建时
apt-get: not found错误 这个问题的根源很明确:你使用的基础镜像bde2020/spark-worker:2.4.5-hadoop2.7是基于Alpine Linux发行版的,而Alpine默认使用的包管理器是apk,并非Debian/Ubuntu系列系统常用的apt-get,所以会出现命令找不到的报错。
修复后的Dockerfile
把你的Dockerfile改成下面这样就能解决问题:
FROM bde2020/spark-worker:2.4.5-hadoop2.7 # 如果只是更新包索引 RUN apk update # 如果更新后还要安装软件包,推荐加上--no-cache减少镜像体积 # RUN apk update && apk add --no-cache 你的软件包名称
额外说明
如果你的需求必须依赖apt-get(比如某些软件只有Debian/Ubuntu仓库提供),那你需要更换基于Debian/Ubuntu的Spark Worker基础镜像,但这样会大幅增加镜像体积。绝大多数场景下,Alpine的apk包管理器已经能满足需求,而且镜像更轻量化,启动速度更快。
内容的提问来源于stack exchange,提问作者Nag
相关产品推荐
相关产品推荐

