Пытаюсь поиграться с postgres и докером:
docker run --name pg -v /Users/xxx/docker/data:/var/lib/postgresql/data -d postgres
немедленно останавливается. Запустите образ без -v, на котором контейнер продолжает работать. Если я войду через /bin/sh, я увижу точку монтирования с базами данных postgres по умолчанию:
root@f9e0e92dae26:/# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
none 19049892 737424 17321744 5% /
tmpfs 1025332 0 1025332 0% /dev
shm 65536 8 65528 1% /dev/shm
none 116884912 52807056 64077856 46% /var/lib/postgres/data
/dev/sda1 19049892 737424 17321744 5% /var/lib/postgresql/data
Но я не могу поделиться ими с хостом, как говорит опция -v. Что здесь не так?
В журнале говорится:
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
fixing permissions on existing directory /var/lib/postgresql/data ... ok
initdb: could not create directory "/var/lib/postgresql/data/pg_wal/archive_status": Permission denied
initdb: removing contents of data directory "/var/lib/postgresql/data"
Я попытался передать виртуальную машину дополнительный общий каталог, кроме /Users и /, в моем случае /Users/xxx/docker/data, перезапустив виртуальную машину, но это, похоже, не работает. В виртуальной машине (docker-machine ssh) я вижу, что /data смонтирована. Машина Docker, похоже, монтирует последнюю часть полного пути. Любое объяснение? Таким образом, возможно, официальные изображения postgres могут быть изменены (в файле докеров?), чтобы изменить базовый путь, примеры приветствуются.
«Отказано в доступе» довольно просто, не так ли? Применяются обычные шаги отладки (проверка прав собственности, разрешений и т. д.).
Это не просто, как кажется. Каталог на стороне хоста принадлежит мне, поэтому неправильные разрешения не являются реальной темой. Я работаю с Docker Toolbox для Mac, похоже, это общая проблема с базовой виртуальной машиной. См. отредактированное выше.
Я столкнулся с той же проблемой несколько дней назад, это и ветка Reddit - единственные вещи, которые я нашел во всем Интернете. Любые обновления о том, как это исправить?





Я столкнулся с той же проблемой с Vbox VM под Windows. Я пытался использовать общие папки между виртуальной машиной и моей ОС Windows, что вызывает проблему с разрешениями. Я решил проблему с передачей каталога из /home/{username}/.. для тома
Вы должны попытаться отладить>
docker logs pg