【问题标题】:Cant use PostGIS on Alpine image无法在高山图像上使用 PostGIS
【发布时间】: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 构建尝试过这个:

  1. 以下 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 就足够了。

  1. 以下 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]

到底怎么样:)),我可以将PostGISAlpine 图像一起使用吗?是否需要使用其他镜像版本或以不同方式安装PostGIS

【问题讨论】:

    标签: postgresql docker postgis alpine


    【解决方案1】:

    documentation,附加扩展部分所述:

    使用 Alpine 变体时,任何未在 postgres-contrib 需要在你自己的镜像中编译(同样, 具体示例请参见 github.com/appropriate/docker-postgis)。

    基于这里的 debian 是 docker 镜像:

    https://github.com/appropriate/docker-postgis/blob/f6d28e4a1871b1f72e1c893ff103f10b6d7cb6e1/10-2.4/Dockerfile

    如果您想将 Postgis 与 PostgreSQL Alpine 映像捆绑在一起,您已经构建了它。

    【讨论】:

    • 感谢您的帮助!我听从了您的建议,但在手动安装 PostGIS 时遇到了麻烦。我创建了另一个问题here。如果您能提供帮助,我将不胜感激。
    • @mhyousefi 会在我有时间的时候检查一下。
    猜你喜欢
    • 1970-01-01
    • 2018-08-01
    • 2018-06-16
    • 2022-01-07
    • 2021-10-15
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多