Considerando sua localização na curva de aprendizado, eu não usaria o Docker para sua tarefa.
Se você estiver usando o Docker para isolamento do processo, poderá usar usuários Unix exclusivos para isso ou o systemd também incluirá diretivas para limitar o acesso de um serviço do systemd. Veja por exemplo Capabilities=
in man systemd.exec
.
Além disso, para isolamento do processo com o Docker, você executaria cada um dos bancos de dados e do servidor da Web em diferentes contêineres do Docker.
Outro recurso importante que systemd
fornece é o gerenciamento de processos. Isso é-- se o seu processo de httpd
falhar, o systemd irá reiniciá-lo para você.
Minha recomendação é primeiro obter todos os seus processos em execução diretamente em um servidor host usando o systemd. Muitos pacotes modernos já vêm com arquivos de configuração systemd
.
Uma vez que você tenha um bom entendimento de systemd
, está claro qual o benefício que o Docker irá oferecer, então considere o Docker no mix.
No meu trabalho, tentamos usar o Docker para gerenciar um conjunto de serviços, mas depois gerenciamos diretamente com systemd
e o resultado é um sistema mais limpo que a equipe prefere com menos scripts bash
para colar as coisas e manter eles.