Como inicializo automaticamente o contêiner do docker na reinicialização do sistema?

28

Como eu hospedei um site WordPress em contêineres docker e quero que esses contêineres sejam iniciados sempre no momento da inicialização, então é necessário fazer isso manualmente.

    
por nayan tiwari 08.05.2015 / 09:47

4 respostas

24

Até agora, não acho que haja uma maneira de fazer isso normalmente. Uma solução complicada é usar a política de reinicialização

sudo docker run --restart=always -d your_image

Isso significa que, sempre que você desligar, sairá do contêiner para que você inicie seu host e, em seguida, esse lead para reiniciar a janela de encaixe.

    
por Maythux 08.05.2015 / 10:08
17

Como o ubuntu 15 agora suporta systemd, amostra para este gerenciador:

someservicename.service

[Unit]
Description=Some service
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a container_name
ExecStop=/usr/bin/docker stop -t 2 container_name

[Install]
WantedBy=multi-user.target

Mais disponível em site docker

P.S.   Configuração muito bonito :)

    
por Reishin 18.11.2015 / 01:10
9

É um caso de uso muito comum para adicionar a política de reinicialização em um contêiner existente.

Isso pode ser feito com o seguinte comando: docker update --restart {no,on-failure,unless-stopped,always} container_name

Mais detalhes: Docker - Iniciar contêineres automaticamente

    
por SlimIT 12.11.2017 / 02:21
4

O que fiz foi usar os arquivos do Upstart.

Você pode encontrar alguns exemplos e outras soluções em o site Docker .

Crie um arquivo como esse em / etc / init:

Description "My container"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
   /usr/bin/docker start -a mycontainer
end script
pre-stop script
  /usr/bin/docker stop mycontainer
end script

Nota, a partir de Docker 1.2, existem políticas href="https://docs.docker.com/reference/commandline/run/#restart-policies"> reinício que pode também ajudar a reiniciar automaticamente os contêineres quando o serviço de encaixe for executado (após a inicialização, por exemplo).

Personnaly, eu uso fantoche para provisionar minha estação de trabalho e usar este Docker módulo para criar automaticamente o startup roteiros que são mais completo (iniciar, parar, reiniciar, opções limpas ...)

    
por aklmie 29.07.2015 / 16:48