docker-compose start“ERROR:没有容器启动”

时间:2016-09-18 21:15:09

标签: docker docker-compose

我正在尝试使用Docker Compose(在Windows上使用Docker Machine)来启动一组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容器没有运行。如何启动容器?

2 个答案:

答案 0 :(得分:106)

这里的问题是您没有创建容器。请注意,您必须在运行它们之前创建这些容器。您可以使用docker-compose up来创建容器并启动它们。

您还可以先执行命令docker-compose create以创建容器,然后执行docker-compose start

答案 1 :(得分:8)

您看到错误的原因是docker-compose startdocker-compose restart假设容器已经存在。

如果要构建和启动容器,请使用

docker-compose up

如果您只想构建容器,请使用

docker-compose up --no-start

之后,docker-compose {start,restart,stop}应按预期工作。

曾经使用docker-compose create命令,但不赞成使用docker-compose up --no-start