Современная разработка интернет-приложений: Docker!

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

Итак, Docker. Что это такое и зачем это нужно? Чтобы ваше приложение заработало на вашем локальном сервере, вы устанавливаете огромное количество разных приложений, например, интерпретаторы языков программирования, системы управления базами данных, системы, запускающие скрипты по расписанию и многое другое. В процессе разработки сюда добавляется еще десяток другой разных команд и вот, в конце концов, вы получаете работающий сайт. Покупаете хостинг, заливаете файлы на сервер и… Ничего не работает. Вы забыли что-то поставить из приложений, и не можете вспомнить что именно. Или, что еще печальнее, вы установили на боевой сервер нужное приложение, но более новой версии (меня поймут разработчики на языке PHP, мажорные версии которого просто убирают некоторые критически важные старые функции).

Выход? Docker. По сути это система управления виртуальными машинами. Вы создаете свой собственный сервер в файле-образе (это как создать образ диска), в нем прописываете все что вам нужно и заливаете в облако на сайте Docker. Все, теперь этот образ можно скачать откуда угодно на любой сервер, где установлен Docker. Пара минут, и ваше приложение заработает в полную силу, даже если вы писали его под Linux, а запустили через на Mac внутри Parallel Desktop, где крутится Windows. Правда замечательная возможность?

С чего начать изучение? Как ни странно, не с видео, как я обычно рекомендую. У Docker невероятно информативная документация, где буквально за один день (как это получилось со мной) вы научитесь всем базовым концепциям. Вот что у меня получилось за пару часов ненапряжного чтения:

Да, это кит, который говорит то, что я ему прикажу. И вы можете сделать то же самое. И не спрашивайте зачем, это просто процесс обучения в стиле «и научим, и повеселим». На ките, кстати, лежат контейнеры. Так называются ваши образы, которые запущены.

Если вы хотите быть ближе к разработке и понимать, как правильно разворачивать проекты (это вам не просто получить доступ к FTP и mySQL теперь, хотя так тоже можно), обязательно изучите тему.

Современная разработка интернет-приложений: Docker!: 1 комментарий

  • 20 марта 2017 в 22:18
    Permalink

    Да docker очень крутая штука, но под мак у него есть огромный недостаток — медленная работа с примонтированными папками, из за чего тормозят даже локальные сайты развернутые в нем 🙁

Обсуждение закрыто.