Смонтируйте данные и conf к postgres docker образу - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь смонтировать указанную c папку данных и postgresql .conf в postgres образ с docker-compose.

Вот мой пример 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) - потому что если Я комментирую второй - все будет работать нормально. Но я понятия не имею, как все делать правильно, я хочу иметь возможность монтировать оба (данные и конф) одновременно

1 Ответ

1 голос
/ 03 февраля 2020

Для этого вам нужно скопировать 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'"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...