docker-compose start “ПОМИЛКА: немає контейнерів для запуску”


97

Я намагаюся використовувати Docker Compose (з Docker Machine у ​​Windows) для запуску групи контейнерів Docker.

Мій 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успішно працює. Коли я запускаю, docker-compose startя отримую такий результат:

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

Я підтвердив, що контейнери докера не працюють. Як запустити контейнери?

Відповіді:


150

Справа в тому, що ви насправді не створювали контейнери. Вам доведеться створити ці контейнери перед їх запуском. Ви можете використовувати docker-compose upзамість цього, який створить контейнери, а потім запустить їх.

Або ви можете запустити, docker-compose createщоб створити контейнери, а потім запустити, docker-compose startщоб запустити їх.


4
Що робить docker-compose build?
Причмп

8
docker-compose buildстворює зображення з вашого файлу docker-compose.yml.
JesusTinoco

11
Зверніть увагу, що docker-compose createзастаріле. Замість цього використовуйте upкоманду з --no-start.
B12Тостер

23

Причина , чому ви помітили помилку в тому , що docker-compose startі docker-compose restartприпустити , що контейнери вже існують.

Якщо ви хочете створити та запустити контейнери, використовуйте

docker-compose up

Якщо ви хочете лише побудувати контейнери, використовуйте

docker-compose up --no-start

Після цього docker-compose {start,restart,stop}слід працювати, як очікувалося.

Раніше була docker-compose createкоманда, але зараз вона застаріла на користь docker-compose up --no-start.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.