我尝试使用docker-compose
将特定的数据文件夹和postgresql.conf挂载到postgres映像。
这是我的docker-compose.yml示例:
postgres:
image: postgres:11
volumes:
- ./data/pg:/var/lib/postgresql/data #here is my specific data folder
- ./postgresql.conf:/var/lib/postgresql/data/postgresql.conf #here my custom pg conf
但是我在启动时遇到错误:
postgres_1 | initdb: directory "/var/lib/postgresql/data" exists but is not empty
postgres_1 | If you want to create a new database system, either remove or empty
postgres_1 | the directory "/var/lib/postgresql/data" or run initdb
postgres_1 | with an argument other than "/var/lib/postgresql/data".
我猜我的第二卷(/var/lib/postgresql/data/postgresql.conf
)与第一卷(/var/lib/postgresql/data
)冲突-因为如果我评论第二卷-可以正常工作。但是我不知道如何正确处理内容,我希望能够同时装入(数据和conf)
答案 0 :(得分:1)
为此,您需要将postgresql.conf复制到其他位置,然后指示postgres从新位置使用conf文件。
类似这样的东西:
version: "3.2"
services:
postgres:
image: postgres
volumes:
- ./data/pg:/var/lib/postgresql/data
- ./postgresql.conf:/etc/postgres/my.conf
command: "-c 'config_file=/etc/postgres/my.conf'"