У меня есть несколько вопросов о томах Docker. Я установил Docker и docker-compose на свежий хост, на котором запущен Debian Stretch. Мне удалось запустить файл docker-compose для простого проекта nginx / php-fpm, оба контейнера были смонтированы в каталоге, содержащем исходный код. Я хотел попытаться создать один том, который будет использоваться в моих контейнерах, но у меня есть несколько проблем, и мое понимание официальной документации не помогает.
Итак, это идея того, чего я пытаюсь достичь:
Вопрос 1. Попытка создать том из файла Docker в каталоге, смонтированном с хоста
docker-compose.yml:
version: '3'
services:
php:
build:
context: .
dockerfile: php.dockerfile
volumes:
- ./host-project-directory:/project
php.dockerfile:
FROM php:7-fpm
VOLUME project
Насколько я понимаю, при запуске docker-compose на хосте должен быть создан том, содержащий все файлы из / project из контейнера. И / project из контейнера должен содержать все файлы из ./host-project-directory с хоста.
Если я вижу содержимое / project в контейнере, я могу видеть файлы с хоста, но используя список томов docker , тома не создаются на хосте, почему?
Вопрос 2: Как заполнить и использовать этот том из другого контейнера?
version: '3'
services:
php:
build:
context: .
dockerfile: php.dockerfile
volumes:
- named-volume:/project
web:
image: nginx
links:
- php
volumes:
- named-volume:/project
volumes:
named-volume:
Это должно создать том с именем named-volume и связать его с каталогами / project в обоих контейнерах php и web .
Теперь, как заполнить этот том содержимым из ./host-project-directory?
Я попытался добавить файл Docker, например
ADD ./host-project-directory /project
Но ничего не изменилось и громкость осталась пустой.
Извините, если это связано с отсутствием у меня опыта использования Docker, но я не могу понять, как заставить эту простую вещь работать.
Спасибо, что уделили время!