我想在docker容器中安装包 foo
version 1234
. 我更喜欢这个到最新版本,因为它总是以相同的方式工作 .
所以我的Dockerfile有这个:
RUN apt-get update && apt-get install -y foo=1234
但基本图像是mongodb:4.0.2,它在Ubuntu xenial上分层 .
当我构建映像时,apt安装失败,因为它找不到该版本 . 我认为xenial不支持该版本 .
那么如何在xenial上找到最新支持的软件包 foo
?如果我运行 apt policy foo
它会显示我正在使用的ubuntu(仿生)的最新版本,而不是xenial .
1 回答
如果涉及的包裹是
rlwrap
,你可以看一下网页https://packages.ubuntu.com/xenial/rlwrap但是如果你想以一种正确的方式以编程方式获得这个版本信息,你可以依靠Launchpad API,它随官方API client implemented as a Python library一起提供 .
否则,您可以使用
curl
和jq
等工具直接查询API(以解析检索到的JSON数据):正如Askubuntu question中提到的,Debian也存在类似的API .