Недавно я переместил скопированные данные 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 (кажется, Дэйв Чаллис) указал на это.