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