J'ai un projet de composition Docker utilisant Docker pour Mac qui démarre automatiquement lorsque je démarre l'ordinateur.
Je démarre généralement le projet avec docker-compose up -d
, mais même en cours d'exécution docker-compose stop
avant d'arrêter le redémarrage automatique au démarrage.
Je ne suis pas au courant de l'activation spécifique de cela. Comment puis-je le désactiver?
Aujourd'hui, j'ai eu le même problème que tous les conteneurs sont démarrés lorsque je démarre mon ordinateur portable de développement, comme restart: always
a été défini dans les fichiers .yml.
Comme je ne veux pas toucher aux fichiers .yml, je viens de découvrir (thx Bobby) comment modifier ce paramètre en:
docker update --restart=no <MY-CONTAINER-ID>
Essayez avec docker-compose down
au lieu de docker-compose stop
Arrête les conteneurs et supprime les conteneurs, réseaux, volumes et images créés par up. Les réseaux et volumes définis comme externes ne sont jamais supprimés .
Arrête l'exécution des conteneurs sans les retirer. Ils peuvent être redémarrés avec docker-compose start
.
restart: no
est le mode par défaut. Il y a une ligne dans votre fichier docker-compose avec restart: no
ou restart: unless-stopped
. Cela signifie également que lorsque vous démarrez votre système, il (re) redémarre le ou les conteneurs aussi longtemps que le démon docker. Détails
Vous devez changer restart
en no
ou on-failure
, exemple:
version: '2.1'
services:
backend:
restart: on-failure
build:
args:
USER_ID: ${USER_ID}
context: codebase/namp-backend
dockerfile: Dockerfile.dev
ports:
- "5001:5001"
- "5851:5851"
volumes:
- ./codebase/namp-backend:/codebase
environment:
Aussi docker-compose down
dans la plupart des cas, vous donne le même résultat - ne démarrez pas les conteneurs au démarrage du système (docker), sauf que les conteneurs seront supprimés après cela, pas arrêté.
A côté du réglage restart: unless-stopped
, supprimez les conteneurs existants et recréez-les.
docker-compose down
docker-compose up -d
Maintenant, cela fonctionnerait comme prévu:
docker-compose stop
Sudo service docker restart
docker-compose ps
# should NOT HAVE containers running
docker-compose up -d
Sudo service docker restart
docker-compose ps
# should HAVE containers running