最近(9 月 5 日)Alpine Linux 软件包存储库已更新为 postgresql-client 12.4
我在 Dockerfile 中引用版本 12.3 (apk add postgresql-client=~12.3
)。现在那个版本是不是不能安装了?
我想按照我的时间和条件进行更新,为什么现在必须强制我更新?我可以添加另一个存储库来使用旧版本吗?
Thanks
不幸的是,Alpine 软件包总是会就地更新到最新版本,而旧版本会被丢弃。这确实可能会很痛苦……
通常,当更新软件包时,它会使用与其兼容的所有 Alpine 发行版本进行更新。例如,postgresql-client
被撞到12.4-r0
在边缘、v3.12 和 v3.11 上,但在 Alpine v3.10 存储库上您仍然会找到11.9-r0
。如果这已经足够了,可以从所需的存储库安装旧版本(只要它持续存在),使用:
apk add postgresql-client=11.9-r0 --repository=http://dl-cdn.alpinelinux.org/alpine/v3.10/main
然而,自从12.3
不再存在于官方 Alpine 存储库中,您可以改为依赖外部 Docker 镜像。
幸运的是,postgres https://hub.docker.com/_/postgres官方镜像有版本标签,您可以找到所需的 12.3 版本的 Alpine 镜像:
$ wget -q https://registry.hub.docker.com/v1/repositories/postgres/tags -O - | jq -r '.[].name' | grep 12.3
12.3
12.3-alpine
因此,您可以使用FROM:postgres:12.3-alpine
从中获取所需的版本。
在更困难的情况下,Alpine 软件包版本已更新,并且在其他映像中找不到,唯一的方法可能是从源代码构建。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)