Como executar o docker-compose na inicialização?

19

Isto está em um Ubuntu 14.04 LTS VM rodando Docker e eu suspeito que respawn é a causa do meu problema, mas não tenho certeza da solução ideal.

Script upstart atual ( cat /etc/init/dockersuitecrm.conf )

description "Start docker containers"
author "Batman"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
    docker-compose -f /usr/bin/myapp/docker-compose.yml -p myapp start
end script

Isso 'funciona' em que myapp está ativo e responsivo, mas /sbin/init ocupa toda a CPU quando monitore com htop . Se eu remover a entrada do upstart ( sudo rm /etc/init/dockersuitecrm.conf ) e manualmente SSH e executar docker-compose -f /usr/bin/myapp/docker-compose.yml -p myapp start , não vejo o problema da cpu em 100% e como antes, myapp está novamente ativo e responsivo.

Portanto, suspeito que a maneira como estou começando a compor o docker acima esteja incorreta. Qual é o caminho certo para iniciar o docker-compose está sempre em execução sem intervenção manual?

EDIT: não importa, mas /usr/bin/myapp -> /home/batman/dockerapps/myapp como um link simbólico.

    
por DeepSpace101 23.04.2015 / 18:54

2 respostas

9

Basta usar o crontab, em vez de usar um intervalo de tempo, simplesmente diga @reboot

Então faça o login como o usuário que deve iniciar este script e digite o comando

crontab -e

e, em seguida, insira

@reboot /better/enter/fullpath/here/docker-compose -f /usr/bin/myapp/docker-compose.yml -p myapp start

Reinicialize o sistema e veja se funciona. Há uma vantagem sobre o upstart, mesmo que seja iniciado um pouco mais tarde, você não precisa se preocupar muito com dependências como redes, etc. para estar pronto já.

    
por s1mmel 30.06.2016 / 08:03
0

Supondo que você esteja usando a versão 2 das definições do Docker Compose em docker-compose.yml , faça o seguinte:

Definindo restart: always da seguinte forma:

version: '2'
services:
  web:
    image: nginx
    restart: always

Referência: link

    
por Sergei Filippov 07.07.2017 / 12:57