Quais são as vantagens de usar um gerenciador de processo dentro de um contêiner Docker?

6

Como mencionado por Jerome ,

You also need to add a process manager; for instance Monit or Supervisor. This is because Docker will watch one single process. If you need multiple processes, you need to add one at the top-level to take care of the others. In other words, you're turning a lean and simple container into something much more complicated.

Não está completamente claro para mim por que você precisaria de um gerente de processo dentro de um contêiner.

Então, alguém pode me explicar, quais são as vantagens de ter um gerente de processo dentro de um contêiner? Não seria melhor deixar o systemd ou o upstart lidar com os processos, em vez de adicionar serviços extras ao seu contêiner?

    
por Hyperfocus 29.06.2014 / 10:06

1 resposta

5

Essa é a ideia, usar systemd (ou upstart etc) dentro de um container. O Docker é usado na maioria das vezes para executar um único serviço por contêiner, portanto, para um site complexo, você precisaria de um contêiner para o servidor da Web e outro para o servidor de banco de dados. Com um gerenciador de processos, você pode executar ambos no mesmo container.

Qual abordagem é melhor é baseada em opinião. Embora o que eu vi rodando o systemd dentro do Docker não é fácil em junho de 2014, por exemplo, há um bug # 3629 - "executando o sistema dentro do contêiner do arco de encaixe trava ou segfaults". Para mais detalhes, leia também "Executando o systemd dentro de um contêiner Docker" .

    
por 29.06.2014 / 21:22