首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgres创建扩展命令Docker容器

Postgres创建扩展命令Docker容器
EN

Stack Overflow用户
提问于 2020-02-20 22:39:24
回答 1查看 3.1K关注 0票数 2

我需要为在Docker内部运行的Postgres实例创建扩展--特别是postgis。我跟踪了其他这样的帖子,包括这一个,但都没有用。

到目前为止..。

Dockerfile

代码语言:javascript
复制
FROM postgres
COPY ext-script.sql /docker-entrypoint-initdb.d

ext-script.sql

代码语言:javascript
复制
create extension pgcrypto;
create extension postgis;

Docker 运行命令

代码语言:javascript
复制
docker run -d -p 5432:54323 -e POSTGRES_PASSWORD=somepassword -e POSTGRES_USER=someuser -v postgres-data:/var/lib/postgresql/data --name dbcontainer dbimage

日志

代码语言:javascript
复制
docker logs dbcontainer
/usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/ext-script.sql
CREATE EXTENSION
2020-02-20 22:18:01.090 UTC [60] ERROR:  could not open extension control file "/usr/share/postgresql/12/extension/postgis.control": No such file or directory
2020-02-20 22:18:01.090 UTC [60] STATEMENT:  create extension postgis;
psql:/docker-entrypoint-initdb.d/ext-script.sql:2: ERROR:  could not open extension control file "/usr/share/postgresql/12/extension/postgis.control": No such file or directory

我遗漏了什么?

更新

最后我使用了后图形码头枢纽图像

当你知道怎么做的时候,一切都很简单:)

代码语言:javascript
复制
# Dockerfile
FROM postgis/postgis
COPY data.sql /docker-entrypoint-initdb.d
EN

回答 1

Stack Overflow用户

发布于 2020-02-21 00:27:29

与pgcrypto不同,PostGIS不包括在默认的PostgreSQL包中,它需要在调用create extension postgis;之前从某个来源安装。在码头集线器这里上有一个相当好的这里码头集装箱。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60329587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档