什么是 Docker Compose 的 restart?
在 docker-compose.yml 文件中,restart 字段用于定义容器在退出或系统重启后的重启策略。
正确配置该策略可以确保服务在意外中断后自动恢复,提高系统的健壮性。
常见的 restart 策略
- no:默认值,容器退出时不自动重启。
- always:无论退出状态如何,总是重启容器。
- on-failure[:max-retries]:仅在容器非正常退出(非0状态码)时重启,可选指定最大重试次数。
- unless-stopped:总是重启,除非用户手动停止容器。
配置示例
services:
web:
image: nginx:latest
restart: unless-stopped
db:
image: postgres:15
restart: on-failure:5
手动重启服务
除了依赖自动策略,你也可以通过命令手动重启服务:
# 重启整个项目
docker compose restart
# 重启指定服务
docker compose restart web