Зачем мне нужен Docker?

Добрый день!
Я не до конца в теме, и честно говоря не особо вникал, но зачем может понадобиться Docker кроме как игрушка для админа?
Я сооооовсем не догоняю, и поэтому хотел бы попросить вас объяснить мне как дурачку:
Вот допустим мой стандартный стек:
* NodeJS
* MongoDB
* Nginx
* RabbitMQ
* Memcached
* GO // Это реже, но иногда пишу на нем нативные утилиты, которые дергает Node

Все данные в Mongo, RabbitMQ и на локальных папках Node-программы (она иногда пишет в них логи, сохраняет обработаные данные, которые не влезают в могну), очень важны, даже после падения, т.е. потерять и забыть не вариант.

Но при этом однотипных вопрекров ноды, порой бывает очень много (до 100), и каждый раз поднимать виртуалку, и убивать ее же это не очень удобно. И при этом порой нужно бы поднять еще воркеров 50, допусти в праздники или выходные, когда данных много, а по ночам наоборот убивать их, что-бы не простаивали и не хавали амазоновсие бабки.

И вот он сам дурацкий вопрос:
* Стоит ли мне учить, докер. И использовать его у себя?
* Нужно ли все пихать в контейнеры, или базы и Rabbit как обычно запускать на виртуалках?
* Можно ли делать приватные контейнеры с Node-воркером. Так как в них зашиты конфиги, в публичный хаб им путь заказан.
  • Вопрос задан
  • 1074 просмотра
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Зачем нужен Docker?

Лично я использую:

- Docker для управлением окружением (как для dev так и для prod)
- Docker-distribution для хранения собранных образов контейнеров
- Docker-compose для оркестрации контейнерами на целевой машине (для dev это моя машина, для prod удаленный сервер)
- Docker-machine для управления удаленными машинами (оно само поставит докер куда надо и все такое)
- Docker-swarm (пока не использую, небыло необходимости) - для оркестрации контейнерами в класстере, с failover и тд.. Так как docker-machine можно настроить так что бы тот еще и создавал инстансы (например дроплеты на DO) то можно организовать полностью автоматизированную систему с определенным уровнем отказоустойчивости.

В целом для деплоя можно вообще по SSH не заходить. Дико удобно, особенно когда много проектов и много серверов.
Ответ написан
Комментировать
Ernillew
@Ernillew
Администрирую *nix-системы с 1997 года
Если вы задаете вопрос «Зачем мне нужен XXX» значит XXX вам не нужен. Docker нужен для того, что бы с ним играть, очевидно вы предпочитаете другие игрушки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы