我需要在32位ARM系统上的Docker容器中安装支持uuid-ossp的PostgreSQL 9.6.9 (它是QNAP,CPU: Annapurna Labs Alpine 314)。
我找到了arm32v6/postgres镜像并安装了arm32v6/postgres:9.6.9-alpine。这很顺利,但缺少postgresql-contrib包。据我所知,我需要安装postgresql-contrib来获得uuid-ossp支持。
我在容器中打开CLI并尝试:
# apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/armhf/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/armhf/APKINDEX.tar.gz
v3.7.0-215-g16971064c0 [http://dl-cdn.alpinelinux.org/alpine/v3.7/main]
v3.7.0-207-gac61833f9b [http://dl-cdn.alpinelinux.org/alpine/v3.7/community]
OK: 8879 distinct packages available
# apk add postgresql-contrib=9.6.9-r0
ERROR: unsatisfiable constraints:
postgresql-contrib-10.4-r0:
breaks: world[postgresql-contrib=9.6.9-r0]如何安装正确版本的postgresql-contrib?或者我可以只使用postgresql-contrib-10.4-r0和PostgreSQL 9.6.9?
发布于 2018-07-05 22:00:44
只需使用基本的高山镜像,并从高山的官方包postgresql和postgresql-contrib完全安装PostgreSQL即可。提供PostgreSQL 9.6的最后一个稳定的高山版本是v3.6,它落后了两个版本,但仍然支持。阿尔卑斯v3.7只提供了10.4。
另外,不要为apk add指定确切的版本。阿尔卑斯只为每个分支提供单一版本的包(例如,v3.7、v3.8、edge)。一旦我们发布postgresql-contrib 9.6.9-r1或9.6.10-r0 (例如修复一些安全问题),9.6.9-r0将不再可用,您的apk add postgresql-contrib=9.6.9-r0将失败。
这些专门的Docker图像“打包”了一些已经在阿尔卑斯山中正确打包的东西,这些东西大多是完全无用的,只会造成混乱和问题。我甚至数不清我在SO上回应了多少次这种类型的问题。
发布于 2018-07-18 23:27:45
我发现arm32v6/postgres:9.6.9-alpine Docker image确实开箱即用支持uuid-ossp。这个图像似乎是用(一些?)postgres-contrib模块。研究一下the Dockerfile可能会有所帮助。
https://stackoverflow.com/questions/51189923
复制相似问题