如何在docker中为postgresql创建postgis扩展?

use*_*095 10 postgresql postgis docker

我在尝试创建postgis扩展时遇到错误.

这是我的dockerfile的样子.

    from postgres
RUN apt-get update && apt-get install postgis -y
ADD /create_postgis_extension.sh /docker-entrypoint-initdb.d/
Run Code Online (Sandbox Code Playgroud)

create.bla-bla..sh

#!/bin/sh
POSTGRES="gosu postgres postgres"

$POSTGRES --single -E <<EOSQL
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
EOSQL
Run Code Online (Sandbox Code Playgroud)

这是运行图像时的错误

后端>声明:CREATE EXTENSION postgis;

错误:类型addbandarg []不存在语句:CREATE EXTENSION postgis;

backend>声明:CREATE EXTENSION postgis_topology;

后端>错误:未安装所需的扩展名"postgis"

我显然做错了什么,但我不知道是什么.如果我使用apt-get安装了postgis,为什么没有安装postgis.

小智 6

---码头档案

FROM postgres:12.4

RUN apt-get update \
    && apt-get install wget -y \
    && apt-get install postgresql-12-postgis-3 -y \
    && apt-get install postgis -y

COPY ./db.sql /docker-entrypoint-initdb.d/
Run Code Online (Sandbox Code Playgroud)

--- db.sql(在同一个文件夹中)

CREATE EXTENSION postgis;
Run Code Online (Sandbox Code Playgroud)