【发布时间】:2019-05-07 12:04:12
【问题描述】:
我是使用 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 search”它时,它就被找到了。此外,在 dockerfile 中,我执行推荐的“更新”和“安装”步骤。所以它应该找到它。任何想法为什么它没有?
【问题讨论】:
-
那不是pip包吗?
-
您使用的是哪个基础镜像?
python3-protobuf软件包仅适用于 Ubuntu >=18.04。如果您的 FROM 映像低于 Ubuntu 18.04,则找不到该软件包。 -
@Blokje5 还有一个 pip 版本,但我不是指那个。
-
@banuj 我的基本图像是: nvidia/cuda:8.0-cudnn5-devel-ubuntu16.04 。它有什么不同吗?
-
见packages.ubuntu.com/search?keywords=python3-protobuf。 ubuntu16.04 所需的包不存在。您应该使用 pip 包或升级基础映像。
标签: docker dockerfile protocol-buffers