На моем MacBook postgresql работает в контейнере docker, и я использую сопоставленный том для сохранения данных. Это прекрасно работает локально. Однако, когда я пытаюсь сделать то же самое на сервере Ubuntu, «начальные» данные с сопоставленного тома не работают. Postgres запускается в «пустом» исходном состоянии. Однако когда я добавляю таблицу и данные в эту таблицу в базе данных postgres по умолчанию, она становится постоянной. Таким образом, отображение объема, кажется, работает. Кроме того, интересно отметить, что я получаю сообщение об ошибке при попытке создать таблицу в новой базе данных. Новая база данных также является постоянной, но таблица не может быть сохранена, поскольку возникла ошибка:
не удалось открыть файл «base / 16384/2611»: такого файла или каталога нет
Ожидается, что база папок / 16384 не существует.
Мне кажется, это проблема пользователей / прав, возможно, но не знаю, как это исправить. Я попытался запустить контейнер как root, но это не помогло.
Есть предложения?
Я запускаю контейнер с помощью docker -compose или из командной строки, используя ;
docker run --rm --name pg -e POSTGRES_PASSWORD=[password] -d -p 5432:5432 -v /root/docker/volumes/postgres:/var/lib/postgresql/data postgres -c listen_addresses='*'