Come eseguire docker-comporre all'avvio?

20

Questo è su una VM LTS di Ubuntu 14.04 con Docker e sospetto che respawn sia la causa del mio problema ma non sono sicuro della soluzione ideale.

Script upstart corrente ( 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

Questo 'funziona' in quanto myapp è vivo e reattivo ma /sbin/init occupa tutta la CPU quando eseguo il monitoraggio con htop . Se rimuovo la voce da upstart ( sudo rm /etc/init/dockersuitecrm.conf ) e manualmente SSH in ed eseguo docker-compose -f /usr/bin/myapp/docker-compose.yml -p myapp start Non vedo la cpu al 100% e come prima myapp è di nuovo vivo e reattivo.

Quindi sospetto che il modo in cui sto iniziando la composizione di una finestra mobile sia errato. Qual è il modo giusto per iniziare docker-compose è sempre in esecuzione senza l'intervento manuale?

EDIT: non dovrebbe importare ma /usr/bin/myapp -> /home/batman/dockerapps/myapp come link simbolico.

    
posta DeepSpace101 23.04.2015 - 18:54

2 risposte

9

Basta usare crontab, invece di usare un intervallo di tempo, basta dire @reboot

Quindi accedi come utente che dovrebbe avviare questo script e digitare il comando

crontab -e

e quindi inserisci

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

Riavvia il sistema e verifica se funziona. C'è un vantaggio su upstart, anche se è iniziato un po 'più tardi, non devi preoccuparti troppo di dipendenze come il networking, ecc. Per essere già in su.

    
risposta data s1mmel 30.06.2016 - 08:03
1

Supponendo che stai usando la versione 2 delle definizioni di Docker Compose in docker-compose.yml , puoi fare quanto segue:

Definendo restart: always in questo modo:

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

Riferimento: link

    
risposta data Sergei Filippov 07.07.2017 - 12:57

Leggi altre domande sui tag