120 votes

docker-compose start "ERREUR : Aucun conteneur à démarrer"

J'essaie d'utiliser Docker Compose (avec Docker Machine sur Windows) pour lancer un groupe de conteneurs Docker.

Mon fichier docker-compose.yml :

version: '2'
services:
  postgres:
    build: ./postgres
    environment:
      - POSTGRES_PASSWORD=mysecretpassword
  frontend:
    build: ./frontend
    ports:
      - "4567:4567"
    depends_on:
      - postgres
  backend:
    build: ./backend
    ports:
       - "5000:5000"
    depends_on:
       - postgres

docker-compose build s'exécute avec succès. Lorsque j'exécute docker-compose start J'obtiens le résultat suivant :

Starting postgres ... done
Starting frontend ... done
Starting backend ... done
ERROR: No containers to start

J'ai confirmé que les conteneurs Docker ne sont pas en cours d'exécution. Comment faire pour que mes conteneurs démarrent ?

189voto

JesusTinoco Points 4614

Le problème est que vous n'avez pas créé les conteneurs. Vous devrez créer ces conteneurs avant de les exécuter. Vous pouvez utiliser l'outil docker-compose up qui créera les conteneurs et les démarrera.

Ou bien vous pouvez exécuter docker-compose create pour créer les conteneurs, puis exécutez la commande docker-compose start pour les démarrer.

4 votes

Qu'est-ce que docker-compose build faire ?

8 votes

docker-compose build crée les images à partir de votre fichier docker-compose.yml.

17 votes

Il convient de noter que docker-compose create est obsolète. Utilisez l'option up avec la commande --no-start au lieu de cela.

33voto

Philipp Claßen Points 4863

La raison pour laquelle vous avez vu l'erreur est que docker-compose start y docker-compose restart supposent que les conteneurs existent déjà.

Si vous voulez construire et démarrer des conteneurs, utilisez

docker-compose up

Si vous voulez seulement construire les conteneurs, utilisez

docker-compose up --no-start

Par la suite, docker-compose {start,restart,stop} devrait fonctionner comme prévu.

Il existait autrefois un docker-compose create mais elle est maintenant obsolète en faveur de la commande docker-compose up --no-start .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X