Eu tenho uma instalação básica do CoreOS (835.9.0) e ele não inicia o daemon do docker na inicialização. Só começa quando eu SSH e faço por exemplo docker ps
.
Como posso fazer o daemon do docker iniciar automaticamente na inicialização do sistema?
Quando digo o daemon do docker, quero dizer ps -ef | grep docker
não mostra processos até depois de o fazerdocker ps
Isso é um pouco antigo agora, mas comecei a usar o cloud-init para fazer isso em todos os novos servidores. Tenho um script cloud-init salvo que uso em todos os meus servidores. Parte dela contém:
Isso habilitará o serviço docker e o iniciará primeiro e em cada inicialização.
fonte
Como já explicado neste comentário por Rob , o docker é ativado por soquete. Isso significa que o daemon não inicia a menos que seja chamado. As respostas existentes aqui funcionam, mas o CoreOS recomenda uma abordagem diferente.
A maneira recomendada de fazer isso, de acordo com a documentação do CoreOS, é criar um serviço para seu próprio aplicativo que, por sua vez, exija o serviço Docker:
/etc/systemd/system/myapp.service:
E faça com que esse serviço seja iniciado automaticamente:
O exemplo de caso de uso é atualizar o contêiner para a versão mais recente assim que o serviço iniciar e o exemplo avançado também registra o serviço no etcd. Leia a documentação do CoreOS para obter mais informações.
fonte
Estou usando o Docker Swarm, por isso não tenho um aplicativo específico para o systemd ser responsável ... Só preciso do docker para iniciar a inicialização. Esta é a solução que resolvi.
Coloque isto
/etc/systemd/system/poke-docker.service
:E então apenas
systemctl enable poke-docker
para configurá-lo para disparar em cada inicialização, perto do final da sequência de inicialização. Odocker version
comando conversa com o daemon do docker, acionando o soquete e iniciando o próprio serviço do docker.Tentei o
systemctl enable docker
truque na outra resposta e, embora tenha funcionado a princípio, parece ter causado algum tipo de situação de rebanho, onde o estivador aparentemente estava tentando fazer muito e falhando miseravelmente. Eu suspeito que esse seja o comportamento "bloqueando a cadeia de inicialização" mencionado nos comentários.fonte