【发布时间】:2020-05-08 18:16:16
【问题描述】:
我正在尝试使用Alpine 图像来处理一些Postgres 数据库创建/准备。
在容器内,我正在运行以下命令:
createdb -e -O ${DB_USER} ${DB_NAME}
psql -e -d ${DB_NAME} -c "CREATE EXTENSION postgis;"
第一行可以正常工作,但第二行不行。
我已经用两个 docker 构建尝试过这个:
- 以下 Dockerfile:
FROM alpine:3.6
RUN apk add -U postgresql
COPY ./db-creator.sh /db-creator.sh
CMD ["./db-creator.sh"]
这张图片给了我以下错误:
CREATE EXTENSION postgis;
ERROR: could not open extension control file "/usr/share/postgresql/10/extension/postgis.control": No such file or directory
我没有尝试直接安装PostGIS,因为this forum 中的某个人坚持在裸露的Alpine 图像上使用apk add -U postgresql 就足够了。
- 以下 Dockerfile:
FROM postgres:9.6.4-alpine
RUN apk add -U postgresql
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update && apk add -u postgis
COPY ./db-creator.sh /db-creator.sh
CMD ["./db-creator.sh"]
我添加了最后两个 RUN 语句以遵循提到的 here。在这种情况下,我无法直接安装PostGIS 并得到以下错误:
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/community/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
WARNING: This apk-tools is OLD! Some packages might not function properly.
v3.6.5-44-gda55e27396 [http://dl-cdn.alpinelinux.org/alpine/v3.6/main]
v3.6.5-34-gf0ba0b43d5 [http://dl-cdn.alpinelinux.org/alpine/v3.6/community]
v20200117-229-g073aaff70d [http://dl-cdn.alpinelinux.org/alpine/edge/testing]
OK: 12520 distinct packages available
WARNING: This apk-tools is OLD! Some packages might not function properly.
postgis (missing):
ERROR: unsatisfiable constraints:
required by: world[postgis]
到底怎么样:)),我可以将PostGIS 与Alpine 图像一起使用吗?是否需要使用其他镜像版本或以不同方式安装PostGIS?
【问题讨论】:
标签: postgresql docker postgis alpine