基于Python3与Debian Buster的robotframework/rfdocker为何无法在Dockerfile中使用apt-get?
解决Dockerfile中
apt-get: not found的问题 你可能选错了基础镜像
不少Robotframework镜像为了轻量化会基于Alpine Linux而非Debian Buster,Alpine使用的包管理器是apk而非apt-get。你可以检查Dockerfile的FROM指令,比如robotframework/robotframework:latest默认就是Alpine镜像。
解决方法:如果必须用Debian Buster,可改用FROM python:3.9-buster作为基础镜像,再在其中安装Robotframework;如果想用现有镜像,把apt-get相关命令替换为apk update && apk add [需要的包名]。多阶段构建时选错了执行阶段
如果你的Dockerfile采用多阶段构建,若在非Debian Buster的镜像阶段执行apt-get,就会触发这个错误。
解决方法:确认执行apt-get的代码块处于基于Debian Buster的构建阶段,核对FROM指令的位置和阶段切换逻辑。基础镜像被篡改(少见)
极少数情况下,你使用的Debian Buster镜像可能被第三方修改,删除了apt工具链。可以尝试重新拉取官方镜像:docker pull debian:buster,再将其作为Dockerfile的基础镜像。
内容的提问来源于stack exchange,提问作者SCQs
相关产品推荐
相关产品推荐

