Назад | Перейти на главную страницу

Что мне следует использовать: systemd или docker-compose, чтобы контейнеры Docker работали в моих системах?

Мы говорим о контейнерах Docker, таких как sysdig, consul, fluentd, mesos-slave и т. Д., Которые мы запускаем почти на всех машинах.

В настоящее время мы используем Upstart от Ubuntu и Fleetctl от CoreOS. Мы переходим на Ubuntu 18.04 LTS и в настоящее время рассматриваем возможность преобразования конфигурации в:

Systemd может выполнять проверки работоспособности и автоматически возвращать процессы, которые умерли, обратно в оперативный режим. Он также наиболее похож на Upstart, который мы активно используем. Наши файлы конфигурации Upstart генерируются из облачной конфигурации следующим образом:

- >
    /usr/local/bin/generate-docker-upstart fluentd registry/fluentd:1.0.1
    -e HOST=elasticsearch
    -e PORT=9200
    -e INDEX=fluentd
    -e NODE=`hostname -s`
    -e ROLE=app
    -e ENVIRONMENT={{Ref:Environment}}
    -e TENANT={{Ref:Tenant}}
    -p 24224:24224
    --name \$NAME \$IMAGE

Мы используем AWS CloudFormation для вывода виртуальных машин в онлайн.

Мы не можем использовать реальную среду оркестровки контейнеров (мы уже используем Marathon / Mesos), потому что эти службы должны работать на каждом хосте до запуска Marathon / Mesos.

Какое решение наиболее разумно? Преобразовать эти файлы в systemd или начать использовать docker-compose, несмотря на то, что уже используете Marathon в Mesos?