web-dev-qa-db-fra.com

Désactiver le démarrage automatique du projet docker-compose

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?

20
Harald Nordgren

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>
21
davey

Essayez avec docker-compose down au lieu de docker-compose stop

bas

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êt

Arrête l'exécution des conteneurs sans les retirer. Ils peuvent être redémarrés avec docker-compose start.

9
vanduc1102

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é.

2
Grigory

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
0
bmihelac