Como desabilitar os contêineres da inicialização automática com o dockerd (enquanto o docker não está em execução)?

1

Eu tenho um sistema inativo para manutenção e quero iniciar dockerd de forma que eu possa executar comandos do docker, mas não quero que seus contêineres existentes sejam iniciados automaticamente . Isso é muito útil, por exemplo, em um modo de manutenção ou situação de atualização do sistema. Não consigo encontrar uma opção para lidar com isso.

    
por Otheus 06.09.2017 / 13:56

1 resposta

1

Não é uma resposta real, mas uma alternativa:

Mostrar RestartPolicy :

dos contêineres
find /var/lib/docker/containers/ -type f -name hostconfig.json \
-exec grep -o '"RestartPolicy[^}]*}'  {} +

Para alterar essas políticas para "nunca", usei o seguinte script:

find /var/lib/docker/containers/ -type f -name hostconfig.json \
-exec grep -o '"RestartPolicy[^}]*}'  {} + |
  grep -v '"never"'  |
  cut -d: -f1
  xargs -r \
    sed  -i 's/\("RestartPolicy":{"Name":\)"[^"]*"/"no"/'

Depois, você pode iniciar o Docker e todos os contêineres serão desativados. No entanto, a redefinição das configurações de início automático deve ser feita manualmente.

    
por 06.09.2017 / 14:03

Tags