Devo usar o systemd ou o docker-compose para manter os contêineres do Docker em execução nos meus sistemas?

2

Estamos falando de contêineres do Docker como sysdig, consul, fluentd, mesos-slave etc. que estamos executando em quase todas as máquinas.

Atualmente estamos usando o Upstart do Ubuntu e o Fleetctl do CoreOS. Estamos migrando para o Ubuntu 18.04 LTS e considerando atualmente se converteremos a configuração em:

  • Systemd ou
  • Docker-compose

O Systemd pode fazer verificações de saúde e trazer automaticamente processos que morreram on-line. É também o mais semelhante ao Upstart que usamos intensamente. Nossos arquivos de configuração do Upstart são gerados a partir do cloud-config assim:

- >
    /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

Usamos o AWS CloudFormation para colocar as máquinas virtuais on-line.

Não podemos usar uma estrutura de orquestração de contêiner real (já usamos Maratona / Mesos) porque esses serviços precisam estar em execução em cada host e antes da execução de Maratona / Mesos.

Qual solução faz mais sentido? Converter esses arquivos para systemd ou começar a usar o docker-compose, apesar de já estar usando o Marathon no Mesos?

    
por ujjain 24.09.2018 / 22:40

0 respostas