
esta manhã acordei com um e-mail de 'serviço inativo' que recebi do watchdog. Depois de me conectar ao servidor, descobri que o docker
serviço estava inativo. Após uma pequena investigação, descobri que esta manhã o Ubuntu fez uma atualização autônoma do containerd
serviço e após a atualização, docker
o serviço não foi iniciado automaticamente.
Como posso ter certeza de que após a atualização isso não acontecerá novamente?
Responder1
Tivemos o mesmo problema. Optei por usar um arquivo de unidade systemd para criar uma dependência frouxa entre containerd e dockerd.
Veja como:
Como raiz:
Crie o diretório de substituição (permissão 755)
mkdir /etc/systemd/system/containerd.service.d/
Crie o arquivo de substituição no diretório acima (permissões 644)
vi override.conf
Adicione o seguinte ao arquivo
[Unit]
Before=docker.service
Wants=docker.service
Reinicie o daemon do systemd
systemctl daemon-reload
Verifique se funciona
Pare o contêiner
systemctl stop containerd
Verifique se o dockerd parou
systemctl status docker
Iniciar contêiner
systemctl start containerd
Verifique se o dockerd foi iniciado
systemctl status docker
+++++++++++++++++++++++++
Alguns links para outras documentações sobre o assunto
https://www.shellhacks.com/systemd-service-file-example/
https://man7.org/linux/man-pages/man5/systemd.service.5.html
Responder2
Eu configurei o Docker e seus pacotes relacionados para serem mantidos, para que eles sejam atualizados apenas em atualizações planejadas.
sudo apt-mark hold docker containerd
Quando quero atualizar o Docker, executo apt-mark unhold
, atualizo os pacotes e os retiro novamente. Eu tenho um manual do Ansible para automatizar esse processo. Meu manual para instalar e configurar o Docker define os pacotes para serem mantidos diretamente após a instalação.
Responder3
Odocumentaçãonas políticas de reinicialização do docker é útil, inicie seus contêineres com as opções always
ou unless-stopped
conforme apropriado para seu uso.
Também parece razoável impedir o Ubuntu de realizar atualizações autônomas.