Почему я не вижу примонтированной директории с volume'ом?

Я запускаю докер-контейнек с volume'ом:

docker run --cidfile ./metadataCid.txt -e CONTAINER_USER=$CONTAINER_USER -v /home/project_manager/projects/prcamm/manager/shared/dataframe:/var/dataframes

Но когда я захожу внутрь файловой системы контейнера через:

docker run -it image_name sh

Этого volume'а просто нет. В чем может быть проблема?


Ответы (1 шт):

Автор решения: Total Pusher

Вторая команда выполняется во втором контейнере, который ничего не знает про первый.

Run a command in a new container

-- из справки docker help run

Нужно либо подсоединиться к первому, либо запустить второй контейнер с аналогичными параметрами (но тогда у вас будет два работающих приложения, я думаю это вам не подходит).

Поэтому выясняем ID контейнера

docker ps

у меня:

CONTAINER ID  IMAGE           COMMAND                 CREATED        STATUS       PORTS
9600da0bb443  lamp_php54-fpm  "php-fpm"               4 months ago   Up 2 weeks   9000/tcp
6a0931393c05  mongo           "docker-entrypoint.s…"  4 months ago   Up 2 weeks   27017/tcp
d5c4dabced3a  lamp_sphinx     "/bin/sh -c 'crond &…"  4 months ago   Up 2 weeks

Выбираем из этого списка тот, что нужен, я в примере выбрал mongo. Теперь входим в него:

docker exec -it 6a0931393c05 sh

Так как ID контейнеров меняются, полезно при docker run использовать название (--name lamp_mongo_1), тогда будет более удобно:

docker exec -it lamp_mongo_1 sh
→ Ссылка