【发布时间】:2019-04-18 08:11:26
【问题描述】:
这是我的 docker-compose 文件。有没有简单的方法来安装 postgres 扩展?我正在尝试安装pg_trgm。
编辑:我现在有两个 dockerfile 和一个安装脚本。当我运行docker-compose up build时,它似乎不起作用@
Internal server error: pq: operator does not exist: character varying % unknown
services:
db:
build:
context: .
dockerfile: db/Dockerfile
image: postgres
ports:
- "5432:5432"
environment:
- POSTGRES_USER=x
- POSTGRES_PASSWORD=x
- POSTGRES_DB=x
api:
build:
context: .
args:
app_env: ${APP_ENV}
volumes:
- .:/go/src/x/y/z
ports:
- "8080:8080"
db/Dockerfile:
FROM postgres
COPY db/install-extensions.sql /docker-entrypoint-initdb.d
db/install-extensions.sql
CREATE EXTENSION IF NOT EXISTS pg_trgm;
【问题讨论】:
-
您需要编写自己的 Dockerfile,它只是从“postgres”扩展而来并安装扩展。然后在 docker-compose 中构建该 dockerfile
-
@Mihai 做了一个编辑,如果你可以看一下。
-
把sql文件和Dockerfile放在同级。然后在 docker 文件中删除“db/”。您也可以删除 docker-compose 中的“上下文”声明。
-
确实,如果要初始化数据库,您必须始终删除数据量
标签: postgresql docker docker-compose