2017-01-24 4 views
5

Есть ли способ обмениваться папкой с контейнером докера?Поделиться папкой из контейнера докеров на хост

Например, у меня есть tomcat внутри контейнера докера, и я хочу, чтобы он был виден снаружи.

Если я тома: -/опт/кот:/опт/TOMCAT

Я получаю ошибку в контейнере: «Нет такого файла или каталога /opt/tomcat/bin/catalina.sh "

+0

Вы используете '-v HOST_FOLDER: CONTAINER_FOLDER'? Если это так, то это должно сработать ... Может быть, это символическая ссылка на что-то вне каталога, который вы монтируете? – Salem

+0

Работает, но хост перезаписывает содержимое каталога внутри контейнера. – user3331089

ответ

0

Я не думаю, что Docker позволяет вам это. Эта команда будет монтировать вашу папку хоста в контейнере, поэтому ваши файлы в контейнере больше не видны.

два варианта:

  1. Вы можете получить доступ к файлам с помощью контейнера this trick (GitHub issue): sudo ls /proc/$(docker inspect --format {{.State.Pid}} YOUR_CONTAINER_NAME)/root. Для доступа к ним вам понадобятся права root, или вы можете использовать bindfs для соответствия пользователю root с вашим именем пользователя (см. Тот же поток).

  2. Создание нового тома, скопируйте файлы должны быть доступны для там и установить его внутри контейнера, в нужном месте

+0

Не могли бы вы подробнее остановиться на '2', @Salem? – Gezim