Привязать каталог к ​​контейнеру докера

Я создаю тестовый проект, для которого требуется модуль вне каталога проекта. Папка проекта находится в докере, и я хотел бы привязать этот каталог модуля к контейнеру докера моего проекта. Возможно ли это сделать? Или я задаю неправильный вопрос? Кстати, я до сих пор новичок в докеров, поэтому я просто пытаюсь разобраться.

Я понимаю, вам нужно установить папку хоста в контейнер. Поэтому попробуйте следующее:

docker run -v /host/project_folder:/container/project -t avian/project_image bash 

объяснение

  • -v – –volume = [] Привязать громкость
  • /host/project_folder – папка хост-сервера
  • /container/project – папка контейнера

Обновить:

Последняя версия docker (v1.9.1) поддерживает новый volume команды. Поэтому вам должно быть проще управлять объемом в докере.

 # For example, I need attach a volume to mysql container. docker volume create --name mysql-data docker run --name mysql -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql 

При этом вы можете удалить контейнер mysql любое время, не потеряв данные базы данных.

Вы можете использовать опцию -v для монтирования volume (например, вашей папки) в контейнер. Более подробную информацию можно найти в документах .

Например, из примера Dockerfile платформы ghost блога:

 docker run -v /data/ghost:/var/lib/ghost -d ghost 

Какие карты /data/ghost на локальном диске в /var/lib/ghost внутри контейнера.

Вы также можете указать другой контейнер докера в качестве source данных, используя параметр --volumes-from .