首页 文章

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

提问于
浏览
51

我正在尝试使用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 回答

  • 85

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

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

  • 6

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

相关问题