Попытка поиграть с Postgres и Docker:
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) я вижу теперь / данные смонтированы.Машина докера, кажется, монтирует последнюю часть полного пути.Любое объяснение?Так что, возможно, официальные изображения postgres можно было бы изменить (в файле docker?), Чтобы изменить базовый путь, примеры приветствуются.