我正在尝试使用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 回答
这里的问题是你没有创建容器 . 请注意,您必须在运行它们之前创建这些容器 . 您可以使用
docker-compose up
来创建容器并启动它们 .您还可以先执行命令
docker-compose create
以创建容器,然后执行docker-compose start
.您看到错误的原因是
docker-compose start
和docker-compose restart
假设容器已存在 .如果要构建和启动容器,请使用
如果您只想构建容器,请使用
之后,
docker-compose {start,restart,stop}
应该按预期工作 .曾经有一个
docker-compose create
命令,但它没有被弃用,而是支持docker-compose up --no-start
.