如果容器自动崩溃,我想重新启动它。我不知道该怎么做。我有一个脚本 docker-compose-deps.yml ,其中包含 elasticsearch、redis、nats 和 mongo。我在终端中运行它来进行设置:docker-compose -f docker-compose-deps.yml up -d
。之后,我通过运行以下命令来设置容器:docker-compose up -d
。如果这些容器崩溃了,有没有办法让它们重新启动?我注意到 docker 有一个内置的重启功能,但我不知道如何实现它。
经过一些反馈后我添加了restart: always
to my 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
如果您使用 compose,它有一个重新启动标志,该标志类似于 docker run 命令中存在的标志,因此您可以使用它。这是有关此部分的文档的链接 -https://docs.docker.com/compose/compose-file/ https://docs.docker.com/compose/compose-file/
当您部署到外部时,这取决于您部署到哪里。大多数容器集群(例如 kubernetes、mesos 或 ECS)都会有一些可用于自动重启容器的配置。如果您不使用任何这些工具,您可能会手动启动容器,然后可以像在本地一样使用重新启动标志。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)