Am на ноутбуке Macbook Pro и работающей докер-машине (0.5.0) и докере-компонете (1.5.0), чтобы получить мои контейнеры.
Это означает, что я использую docker-machine для создания своих машин HOST с виртуальными окнами, которые будут запускать мой демон докеров и размещать все мои контейнеры.
Я думаю, что мне не хватает чего-то критического в концепции HOSTS и VOLUME, поскольку они относятся к Docker и документации.
Это мой файл docker-compose.yml(веб просто создает изображение php: 5.6-apache):
web:
restart: "always"
build: ./docker-containers/web
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
links:
- mysql:mysql
mysql:
restart: "always"
image: mysql:5.7
volumes_from:
- data
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=XXX
data:
restart: "no"
image: mysql:5.7
volumes:
- /var/lib/mysql
command: "true"
Документация документа Docker Compose для томов находится здесь: http://docs.docker.com/compose/compose-file/
Он указывает для томов - монтирует пути как тома, опционально указывая путь на главной машине (HOST: CONTAINER) или режим доступа (HOST: CONTAINER: ro).
HOST в этом случае относится к моей виртуальной машине, созданной докер-машиной, правильно? Или моя локальная файловая система macbook? Установка пути на моей виртуальной машине в контейнер?
В Интернете я заявляю:
volumes:
- ./src:/var/www/html
и это сопоставление моей локальной файловой системы macbook./src на моем macbook pro для моего веб-контейнера. Если мое понимание правильное, не должно ли оно отображаться в папке. /src на моей VM на /var/www/html в веб-контейнере?! В теории я думаю, что мне нужно будет сначала скопировать мою локальную папку файловой системы Mac./src в мою виртуальную машину, а затем я сделаю это объявление тома. Кажется, что докер-сочинение волшебно делает все это одновременно? спутать
Наконец, мы видим, что я создаю контейнер данных только для хранения данных mysql. Я заявил:
volumes:
- /var/lib/mysql
Не следует ли создать папку /var/lib/mysql на моей HOST boot2docker VM, и я мог бы перейти к этой папке на виртуальной машине, да/нет? Когда я использую docker-machine для ssh в моей машине, а затем перейдите в /var/lib, есть папка NO mysql? Почему он не создается? Что-то не так с моей конфигурацией?:/
Спасибо заранее! Любые объяснения относительно того, что я делаю неправильно, будем очень благодарны!