Comments 11
используйте vagrant например для подобных историй.
настройку машины можно сложить в provision
docker прикольная вещь и она довольно быстро стартует, по сравнению со связкой vagrant + virtualbox только там всякие забавы идут с windows и mac и есть подход в котором докер крутится внутри виртуалки.
Поэтому все же проще vagrant + virtualbox
У него есть минусы:
- Потребляет лишнюю память и cpu (в среднем 1gb ram и проц)
- Разворачивается не быстро (в среднем 1 минута).
- На больших проектах синхронизация файлов по умолчанию тормозит (обычно используют rsync или nfs что выливается в пляски с windows хорошо если лицензия корпоративная или проффесиональная)
Но есть и огромное количество плюсов
по поводу provision, не обязательно использовать что то типо chef, ansible или puppet, можно просто использовать bash script в простых случаях как вы описали выше.
Вообщем если есть на это спрос могу написать конечно статью на хабр на эту тему как я разворачиваю окружение ну и конфиг соответственный.
дело в том что я не devops а обычный разработчик, просто люблю комфортную работу и хорошо умею настрайвать всякие штуки.
1) в системе крутится DNS docker контейнер tonistiigi/dnsdock
2) через docker-compose.yml описываю проект
например
version: '2' services: project_db: image: mysql:{версия} .... environment: DNSDOCK_NAME: project DNSDOCK_IMAGE: db project_php: build: ./php{версия} .... project_nginx: depends_on: - project_php image: nginx .... environment: DNSDOCK_NAME: project DNSDOCK_IMAGE: site
3) кастую docker-compose up -d
получаю проект mysql + php-fpm + nginx
в итоге на хост машине
mysql доступен по адресу project.db.docker например для workbench
nginx доступен по адресу http://project.site.docker
могу остановить в любой момент, поднять несколько разных проектов с разными версиями БД и php.
на самой хост машине mysql снес, php только версии 7.1
Еще я рассматривал монтирование с использованием SSHFS for Win, но PHPStorm постоянно засыпал меня уведомления, что GIT «упал» и все. Попытки решить проблему не увенчались успехом. Возможно нужно ждать обновлений.
Настройка среды разработки: кружок рукоделия (Часть 1)