重启策略 | 命令参数 | 使用场景与分析 |
---|---|---|
不重启 | --restart=no |
适用于短期运行或一次性任务,不需要自动重启。 |
总是重启 | --restart=always |
适用于需要持续运行的服务,无论何种原因导致的停止都会重新启动。 |
出错时重启 | --restart=on-failure |
仅在容器非正常退出(返回非零状态)时重启,适用于需要稳定运行但允许手动停止的应用。 |
除非手动停止才不重启 | --restart=unless-stopped |
容器会一直运行,除非被明确地停止。适用于几乎所有需要长时间运行的场景。 |
不重启 (--restart=no
)
这个选项通常用于开发环境或者测试环境,或者一些只需要运行一次的任务(例如数据迁移脚本)。
总是重启 (--restart=always
)
这适用于生产环境中需要24/7运行的服务。这个选项确保了即使容器由于某种原因失败或者所在的主机被重启,容器也会自动重启。
出错时重启 (--restart=on-failure
)
这个选项适用于需要高可用性,但又允许手动干预的服务。也就是说,如果容器由于某种错误而停止(退出代码非零),Docker会尝试重新启动它。
除非手动停止才不重启 (--restart=unless-stopped
)
这个选项在很多场景都非常有用,特别是那些需要长时间运行,但又可能需要进行维护或更新的服务。