【发布时间】:2017-02-27 18:52:48
【问题描述】:
如果容器自动崩溃,我想重新启动它。我不知道该怎么做。我有一个脚本 docker-compose-deps.yml,它有 elasticsearch、redis、nats 和 mongo。我在终端中运行它来进行设置:docker-compose -f docker-compose-deps.yml up -d。在此之后,我通过运行:docker-compose up -d 来设置我的容器。如果它们崩溃,有没有办法让这些容器重新启动?我注意到 docker 有一个内置的重启功能,但我不知道如何实现。
经过一些反馈后,我将restart: always 添加到我的docker-compose 文件和我的docker-compose-deps.yml 文件中。这看起来正确吗?或者这就是您将始终执行重启的方式?
docker-compose 示例
myproject-server:
build: "../myproject-server"
dockerfile: Dockerfile-dev
restart: always
ports:
- 5880:5880
- 6971:6971
volumes:
- "../myproject-server/src:/src"
working_dir: "/src"
external_links:
- nats
- mongo
- elasticsearch
- redis
myproject-associate:
build: "../myproject-associate"
dockerfile: Dockerfile-dev
restart: always
ports:
- 5870:5870
volumes:
- "../myproject-associate/src:/src"
working_dir: "/src"
external_links:
- nats
- mongo
- elasticsearch
- redis
docker-compose-deps.yml 示例
nats:
image: nats
container_name: nats
restart: always
ports:
- 4222:4222
mongo:
image: mongo
container_name: mongo
restart: always
volumes:
- "./data:/data"
ports:
- 27017:27017
【问题讨论】:
-
对我来说看起来不错,但最好的测试方法是故意让其中一个容器发生故障,看看它是否会跳回
-
好的,太好了!感谢您的意见!
标签: docker docker-compose docker-container