我是 Docker 的新手,所以这对某些人来说可能是显而易见的。我运行的是 Ubuntu 18.04TLS。
我想在图像中安装“python3-protobuf”包。我尝试使用 Dockerfile 中的以下行来执行此操作:
...
RUN apt-get update && \
apt-get install -y --no-install-recommends \
python3-protobuf \
<some other packages to be installed>
...
当我运行“docker build -t myImageName”时,我收到消息:
E:无法找到包 python3-protobuf
我正在安装很多软件包,但这是唯一给我带来问题的软件包。
我知道包名称是正确的,因为在终端中,当我“apt搜索”它时,它被发现了。此外,在 dockerfile 中,我执行了推荐的“更新”和“安装”步骤。所以应该能找到。有什么想法为什么不吗?
@banuj 回答了这个问题。
“python3-protobuf”包从 Ubuntu 18.04 及更高版本开始可用。我拍摄的基础镜像使用的是ubuntu 16.04。
我有两种方法来解决这个问题:
我最终使用了选项二。
这对我有用:https://thestrugglingdeveloper.medium.com/docker-apt-get-unable-to-locate-package-d8af66fd9725
如果该文章不可用,我将复制以下解决方案: “解决方案 在执行安装命令之前执行一个简单的 apt-get 更新,例如 apt-get install nano(是的,我更喜欢 nano),并看到它已成功安装在 docker 容器的运行实例中(记住这一点,在容器重新启动您的容器后)编辑又走了)。”