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

Pri*_*hmp 73 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
Run Code Online (Sandbox Code Playgroud)

docker-compose build运行成功.当我运行时,docker-compose start我得到以下输出:

Starting postgres ... done
Starting frontend ... done
Starting backend ... done
ERROR: No containers to start
Run Code Online (Sandbox Code Playgroud)

我确实确认了docker容器没有运行.如何启动容器?

Jes*_*oco 119

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

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

  • `docker-compose build`从docker-compose.yml文件创建图像. (8认同)
  • 请注意,不推荐使用`docker-compose create`.使用`up`命令改为`--no-start`. (7认同)
  • `docker-compose build`做什么? (4认同)

Phi*_*ßen 11

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

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

docker-compose up
Run Code Online (Sandbox Code Playgroud)

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

docker-compose up --no-start
Run Code Online (Sandbox Code Playgroud)

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

曾经有一个docker-compose create命令,但它并没有被弃用赞成docker-compose up --no-start.