docker-compose start“错误:没有要启动的容器”


97

我正在尝试使用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容器未运行。如何启动容器?

Answers:


149

这里的问题是您实际上尚未创建容器。您必须在运行它们之前创建这些容器。您可以使用docker-compose up相反的方法来创建容器,然后启动它们。

或者,您可以运行docker-compose create以创建容器,然后运行docker-compose start来启动它们。


4
怎么docker-compose build办?
Prichmp'9

8
docker-compose build从您的docker-compose.yml文件创建图像。
JesusTinoco

10
请注意,docker-compose create已弃用。使用up命令--no-start代替。
B12Toaster

23

您看到错误的原因是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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.