web-dev-qa-db-fra.com

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

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

Mon 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 fonctionne correctement. Quand je cours docker-compose start Je reçois le résultat suivant:

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

J'ai confirmé que les conteneurs de docker ne fonctionnent pas. Comment puis-je obtenir mes conteneurs pour commencer?

71
Prichmp

Le problème ici est que vous n'avez pas créé les conteneurs. Notez que vous devrez créer ces conteneurs avant de les exécuter. Vous pouvez utiliser le docker-compose up à la place, cela créera les conteneurs et les démarrera.

Vous pouvez également exécuter d'abord la commande docker-compose create afin de créer les conteneurs puis exécuter le docker-compose start.

116
JesusTinoco

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

Si vous voulez créer et démarrer des conteneurs, utilisez

docker-compose up

Si vous voulez seulement construire un conteneur, utilisez

docker-compose up --no-start

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

Il y avait l'habitude par un docker-compose create commande, mais il n’est pas déconseillé en faveur de docker-compose up --no-start.

10
Philipp Claßen