Я довольно ленив — спросите у моей семьи и коллег. Даже если я ленив, это не значит, что я непродуктивен. Когда мне поручают настроить все для нового проекта, я становлюсь крайне вялым. Благодаря Docker мне не нужно затрачивать на это массу энергии — создание одного Dockerfile, который настраивает всю мою инфраструктуру, — это просто достижение моих минимальных усилий.

Если вы не слышали о Docker, вы либо не настраивали свою собственную инфраструктуру, либо только что узнали, как настроить стек LAMP — что я настоятельно рекомендую научиться делать каждому новичку. Docker создает контейнеры (подумайте об изолированных средах) для запуска приложений. Вы можете определить среду, в которой должно работать ваше приложение, с помощью Dockerfile. Затем Dockerfile превращается в образ программного обеспечения, а затем запускается как программный контейнер — подумайте об очень маленькой и легкой виртуальной машине.

Моя любимая вещь после Docker — это docker-compose. Docker-compose — это просто еще один файл конфигурации, который может легко управлять несколькими контейнерами Docker. По сути, я могу создать файл docker-compose, который создаст контейнер, на котором работает сервер nginx, еще один контейнер docker, на котором запущено экспресс-приложение, и еще один контейнер, содержащий базу данных mongo. Эта инфраструктура не только вся задокументирована в одном файле, но и реально создана.

Docker делает это еще проще, размещая образы Docker на своем Dockerhub. Так что, если мне нужны эти nginx, express и mongo, их образы уже размещены и могут быть загружены в любое время. Больше нет дней настройки сред и разных машин для тестирования и развертывания.

Когда я начинаю проект, я следую этим простым шагам при использовании Docker. Я сначала оцениваю, что мне нужно. Нужно ли хранить данные? Нужен ли мне веб-сервер? Хочу ли я запускать этот тип бэкэнда и внешнего интерфейса?

Задав себе правильные вопросы, я проверяю Dockerhub на наличие образов, которые мне могут понадобиться. Затем я создаю файл docker-compose.yml, в котором действительно описывается проект и то, как все будет связано с операционной точки зрения. Виола! Я выдохся. Теперь это может занять немного больше времени или даже меньше времени, чем кажется. В любом случае создание, настройка и устранение неполадок в реальной инфраструктуре не должны занимать часы, когда моя сила воли истощается, а проявляется моя лень.

Если вы хотите увидеть, как настроить файл Dockerfile или Docker-compose для запуска чего-то вроде Wordpress, ждите моего следующего поста.

Если вам понравилась эта статья, ознакомьтесь с другими моими статьями на Medium или на моем сайте: https://codeisdead.com.

Подпишитесь на нас в Twitter: @codeisdead

Подпишитесь на нас в Facebook: https://www.facebook.com/codeisdead/