Задать вопрос
@roman_tonkoshkurov

Можно ли запустить 3 приложения в 1м docker?

Доброго времени суток.
Можно ли сделать такой docker контейнер, чтоб на нем крутилось (Zabbix, mysql, nginx, grafana, prometheus, webmin).
Я честно с докером уже не работал. Видел как запускают на 1м контейнере zabbix, на 2м Grafana и так далее. А мне грубо говоря нужно настроить 1й пакет этих утилит и передать человеку, потом 2й пакет этих утилит и передать другому человеку.

Ткните пожалуйста что почитать, чтоб такое организовать. Ну или в двух-трех словах опишите.

Заранее очень благодарен.
  • Вопрос задан
  • 384 просмотра
Подписаться 2 Простой 5 комментариев
Решения вопроса 3
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Можно, но не нужно.
Ответ написан
Комментировать
@petrovkazanksvu
Насколько мне известно концепция и суть контейнеров "Один контейнер - это один основной процесс" который впоследствии встанет на мониторинг. Больше не могу ничем помочь..
Ответ написан
Комментировать
Если у вас вдруг упадёт какой-то процесс кроме первого, то докер это проигнорирует.
Основная суть докера - один контейнер = один процесс.
Если вам нужно сгруппировать несколько процессов/контейнеров, то используйте docker-compose
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Tiasar
Web Developer
Как тут уже написали можно но не нужно, в 99% случаев это так. Но... бывают задачи, например у меня есть один агент написанный на питоне и к нему в довесок нужны filebeat и merticbeat. Можно было бы поднять 3 контейнера, но начинаются шаманства с тем как читать логи и метрики в разрезе процессов в другом контейнере. К тому же, как и у Вас, мне нужно тиражировать агента и ставить в кучу мест, кое где лютые ИБшники закрыли доступ к половине ресурсов интернета, и таскать по 3 образа не удобно, проще все собрать в один и с него поднять за 5 секунд.

Решается ваша задача достаточно просто, есть такая замечательная вещь как supervisor. Он запускается как основной процесс контейнера, и он, в свою очередь, поддерживает работу 3-х других процессов, перезпуская их в случае краша. Запускается контейнер через docker-compose что гарантирует перезапуск контейнера в случае его краша.

Делайте так как Вам удобно, один контейнер - один процесс это для большей части типичных задач, но не для всех!
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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