Postgresql Docker Compose和Postgres扩展
这是我的docker撰写文件。有什么简单的方法可以安装postgres扩展吗?我正在尝试安装Postgresql Docker Compose和Postgres扩展,postgresql,docker,docker-compose,Postgresql,Docker,Docker Compose,这是我的docker撰写文件。有什么简单的方法可以安装postgres扩展吗?我正在尝试安装pg\u trgm 编辑:我现在有两个DockerFile和一个安装脚本。当我运行docker compose up build 内部服务器错误:pq:操作员不存在:字符变化%未知 services: db: build: context: . dockerfile: db/Dockerfile image: postgres ports:
pg\u trgm
编辑:我现在有两个DockerFile和一个安装脚本。当我运行docker compose up build
内部服务器错误:pq:操作员不存在:字符变化%未知
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;
试试这个
FROM postgres
COPY ./install-extensions.sql /docker-entrypoint-initdb.d
并从文件中删除数据库
或者你可以写
version: "3.1"
services:
db:
image: postgres:9.6
restart: always
environment:
POSTGRES_PASSWORD: unit
POSTGRES_USER: unit
POSTGRES_DB: unit
ports:
- 5432:5432
volumes:
- ./scripts:/docker-entrypoint-initdb.d
然后
有一个在提到的Dockerfile中添加扩展的示例:。您需要编写自己的Dockerfile,它只是从“postgres”扩展并安装扩展。然后在docker中构建dockerfile-compose@Mihai如果可以查看,请进行编辑。将sql文件与Dockerfile放在同一级别。然后在docker文件中删除“db/”。此外,您还可以删除docker-compose中的“上下文”声明。实际上,如果要初始化数据库,您必须始终删除数据卷