Невозможно поделиться данными контейнера Docker через -v - PullRequest
0 голосов
/ 14 февраля 2019

Попытка поиграть с 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?), Чтобы изменить базовый путь, примеры приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...