相关疑难解决方法(0)

错误:在dockerfile中使用apk的不可满足的约束

我正在尝试将postgis安装到postgres容器中.Dockerfile:

FROM postgres:9.6.4-alpine

RUN apk update \
    && apk add -u postgresql-9.6-postgis-2.4 postgresql-9.6-postgis-2.4-scripts \
    && rm -rf /var/lib/apt/lists/*

COPY ./scripts/postgis.sh  /docker-entrypoint-initdb.d/postgis.sh
Run Code Online (Sandbox Code Playgroud)

postgis.sh:

#!/bin/sh

for DB in $(psql -t -c  "SELECT datname from pg_database where datname = 'backend'"); do
    echo "Loading PostGIS extensions into $DB"
    "${psql[@]}" --dbname="$DB" <<-'EOSQL'
        CREATE EXTENSION IF NOT EXISTS postgis;
EOSQL
done
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

错误:不可满足的约束:postgresql-9.6-postgis-2.4(缺失):所需:world [postgresql-9.6-postgis-2.4] postgresql-9.6-postgis-2.4-scripts(缺失):所需:world [postgresql-9.6 -postgis-2.4-scripts]命令'/ bin/sh -c apk update && apk add -u postgresql-9.6-postgis-2.4 postgresql-9.6-postgis-2.4-scripts && rm -rf/var/lib/apt/lists/*'返回非零代码:2

我发现了类似的问题,例如:

  1. 错误:不可满足的限制:在高山安装包装时
  2. 错误:不可满足的约束 - 关于php:7-fpm-alpine

但它并没有解决我的问题.如何用apk添加postgis扩展到我的postgres容器?

apk docker alpine-linux

14
推荐指数
2
解决办法
2万
查看次数

错误:在 Alpine Docker 映像上安装 PostGIS 时出现无法满足的约束

好的,所以任务看起来很简单!使用Alpine图像(因为它轻量级且安全)来执行一些PostgreSQL数据库创建/迁移。我使用的是以下Dockerfile使用的代码在这里

FROM alpine:latest

RUN apk add -U postgresql

# install PostGIS
ENV POSTGIS_VERSION 2.5.2
ENV POSTGIS_SHA256 225aeaece00a1a6a9af15526af81bef2af27f4c198de820af1367a792ee1d1a9
RUN set -ex \
    \
    && apk add --no-cache --virtual .fetch-deps \
        ca-certificates \
        openssl \
        tar \
    \
    && wget -O postgis.tar.gz "https://github.com/postgis/postgis/archive/$POSTGIS_VERSION.tar.gz" \
    && echo "$POSTGIS_SHA256 *postgis.tar.gz" | sha256sum -c - \
    && mkdir -p /usr/src/postgis \
    && tar \
        --extract \
        --file postgis.tar.gz \
        --directory /usr/src/postgis \
        --strip-components 1 \
    && rm …
Run Code Online (Sandbox Code Playgroud)

postgresql postgis docker alpine-linux

4
推荐指数
1
解决办法
1882
查看次数

标签 统计

alpine-linux ×2

docker ×2

apk ×1

postgis ×1

postgresql ×1