Error no containers to start

Error no containers to start

Я пытаюсь использовать 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

Я подтвердил, что контейнеры docker не запущены. Как мне запустить мои контейнеры?

Ответ

Проблема здесь в том, что вы на самом деле не создали контейнеры. Вам нужно будет создать эти контейнеры перед их запуском. Вы могли бы использовать docker-compose upвместо этого, который создаст контейнеры, а затем запустит их.

Или вы можете запуститьdocker-compose create, чтобы создать контейнеры, а затем запуститьdocker-compose start, чтобы запустить их.

Причина, по которой вы увидели ошибку, заключается в том, что 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.

How to fix docker-compose start ERROR: No containers to start

Проблема:

При запуске docker-compose startвы видите сообщение об ошибке, подобное этому:

fix-docker-compose-start-error-no-containers-to-start.sh

Starting mongodb … error

Starting myapp … error

ERROR: No containers to start

Решение:

Для запуска ваших контейнеров используйтеdocker-compose up, вместо docker-compose start!

Если этот пост помог вам, пожалуйста, подумайте о покупке мне кофе или пожертвовании через PayPal для поддержки исследований и публикации новых сообщений на TechOverflow

Docker-compose ERROR: No containers to start

Файл docker-compose.yml:

version: “3”

services:

  webserver:

  image: nginx

  ports:

  – “80:80”

  volumes:

  – .:/usr/share/nginx/html

Создаю сервис: docker-compose -p my up –no-start

Смотрю список контейнеров: docker container ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

99dabcf2b2cf nginx “nginx -g ‘daemon of…” 4 seconds ago Created my_webserver_1_5f7310de9b9a

Пробую запустить: docker-compose start

Starting webserver … done

ERROR: No containers to start

Но работает, если не указывать имя (-p my)

Пролистал команды в .bash_history ну вдруг что-то не то ввожу, так нет – те же команды. Вчера работало, сегодня ничего не обновлял.

Версия: docker-compose version 1.23.1, build b02f1306

Ответ

Смотрим документацию:

COMPOSE_PROJECT_NAME Задает имя проекта. Это значение добавляется вместе с именем службы к контейнеру при запуске. Например, если ваш проект называется myapp и включает в себя две службы db и web, то Compose запускает контейнеры с именами myapp_db_1 и myapp_web_1 соответственно. Установка этого параметра необязательна. Если вы не установите это значение, ИМЯ_КОМПОЗИТА_ПРОЕКТА по умолчанию используется базовое имя каталога проекта. См. Также Параметр командной строки -p.

Делаем выводы: т.к. создавали контейнер с префиксом “my” (флаг -p), то и запускать, видимо, нужно так же (либо и создавать, и запускать без -p с умолчальным значением).

Наталья Петрова
Оцените автора
Новости города Салавата
Добавить комментарий

Adblock
detector