docker-compose start "ERROR: No containers to start"


97

Sto cercando di utilizzare Docker Compose (con Docker Machine su Windows) per avviare un gruppo di contenitori Docker.

Il mio 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 buildfunziona correttamente. Quando eseguo docker-compose startottengo il seguente output:

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

Ho confermato che i contenitori Docker non sono in esecuzione. Come posso avviare i miei contenitori?

Risposte:


149

Il problema qui è che non hai effettivamente creato i contenitori. Dovrai creare questi contenitori prima di eseguirli. Puoi usare docker-compose upinvece, che creerà i contenitori e poi li avvierà.

Oppure potresti correre docker-compose createper creare i contenitori e quindi eseguire il docker-compose startper avviarli.


4
Cosa fa docker-compose build?
Prichmp

8
docker-compose buildcrea le immagini dal tuo file docker-compose.yml.
JesusTinoco

10
Si noti che docker-compose createè deprecato. Usa invece il upcomando con --no-start.
B12Toaster

23

Il motivo per cui hai visto l'errore è quello docker-compose starte docker-compose restartpresumi che i contenitori esistano già.

Se vuoi creare e avviare contenitori, usa

docker-compose up

Se vuoi solo costruire i contenitori, usa

docker-compose up --no-start

Successivamente, docker-compose {start,restart,stop}dovrebbe funzionare come previsto.

C'era un docker-compose createcomando, ma ora è deprecato a favore di docker-compose up --no-start.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.