Назад | Перейти на главную страницу

Postgres в контейнере докеров не работает - постоянно перезапускается

Недавно я переместил скопированные данные postgres с одного жесткого диска на другой.

Моя команда запуска докера

    docker run --name postgres --restart=always -e 
 POSTGRES_USER= -e POSTGRES_PASSWORD= -e POSTGRES_DB=elevate_recruit -v /media/postgres:/var/lib/postgresql/data -d -p 543
2:5432 postgres:9.5

Где носитель - это диск, содержащий резервную копию postgres. Когда я бегу ls -l media/postgres я получил

drwxrw-rw-  6 sbt springcoil 4096 Jun 20 10:25 base
drwxrw-rw- 19 sbt springcoil 4096 Jun 21 13:27 data
-rw-rw-rw-  1 sbt springcoil    4 Apr 27 13:38 PG_VERSION

Когда я запускаю контейнер докеров и делаю docker logs container_id я получил

postgres cannot access the server configuration file "/var/lib/postgresql/data/postgresql.conf": No such file or directory

Изменить - файл data / postgres.conf существует.

Я что-то упускаю, нужно ли менять разрешения докера? Стоит ли что-то менять? Я немного озадачен и разочарован этой ошибкой.

Я нашел решение этой проблемы.

Сначала обязательно сделайте sudo usermod -aG docker your_user а затем войдите снова. Убедитесь, что у вас есть chmod 777 и chmod -R your_user:your_user в ваших папках.

Наконец, в моей команде запуска докера действительно есть ошибка. Так должно быть -v /media/postgres:/var/lib/postgresql вместо того -v /media/postgres:/var/lib/postgresql/data спасибо тому, кто на канале Slack (кажется, Дэйв Чаллис) указал на это.