Чем Docker может мне помочь?
==============================

 Всем привет, в последнее время всё чаще и чаще встречаю в требованиях к вакансиям опыт работы с Docker. Я слышал о нём большое количество раз, читал даже пару статей, даже работал в компании, где всё работало в контейнерах, но тогда мне было не до разберательств с ними, да и всем этим занимался админ. Решил что пришло время восполнить пробел в знаниях.   
  

Итак, допустим у меня имеется MySQL кластер, один мастер и два слэйва, но в будущем всё может измениться в бОльшую сторону. Имеется машина, на которой развёрнут highload сервис, написанный на GO, имеет доступ к кластеру MySQL и так же локальный Redis, для кеширования запросов в MySQL ну и конечно же Nginx. Так же имеется сервис API и админка, оба написаны на Node.JS и живут на отдельной машине имеют доступ к кластеру MySQL ну и конечно же есть Nginx. Так же на отдельных двух машинах есть сервис сбора и агрегации статистики, должен быть доступ в локальный Redis и к кластеру MySQL и опять же есть Nginx. Все сервисы независимы друг от друга. Сейчас процесс деплоя на сервера производится руками. Захожу на сервер по SSH, накатываю изменения, собираю, и перезапускаю. Так же, на многих машинах имеются совсем крохотные сервисы, которые занимаются решением каких-либо задач, их описывать не стал, но они как правило имеют доступ к MySQL, к сети и файловой системе, например к логам Nginx.  
  

Ну и собственно сам вопрос: как использование Docker контейнеров может облегчить жизнь мне, простому разработчику, по совместительству тимлиду и по совместительству сисадмину. В интернетах столько информации об этом, что глаза разбегаются от объёмов. 

 Docker нужен, чтобы запускать идентичные билды приложений с окружением, изолированные от остальных процессов на хосте. Если вам оно не надо, значит оно не надо.  

P.S. С highload сервиса, запускаемого на одной машине, смеялись всей маршруткой.  

P.P.S. За деплой вручную по этим самым ручкам давно пора бить. 

 К примеру в docker-compose.yml прописываете контейнеры и параметры с которыми нужно их стартовать, беря при этом готовые контейнеры - mysql, redis, nginx, nodejs, и пр., при необходимости указываете установку дополнительных зависимостей и настройку отдельных контейнеров в Dockerfile, стартуете их одной командой docker-compose up -d, и работаете в том же окружении что и на серверах на продакшене, ничего не доустанавливая себе в систему.