【问题标题】:How do we set docker containers to restart on reboot and on-failure?我们如何设置 docker 容器在重启和失败时重启?
【发布时间】:2016-07-28 09:42:14
【问题描述】:
我希望 docker 容器出现
- 在
host reboot 或docker is restarted 在主机上时
-
On failure 和 maximum retries 。
我知道 docker 重启策略 unless-stopped 和 always 方向相同,但我希望它们在最大重试次数后失败。
考虑以下步骤作为解决方案
-
No restart policy 在 docker 容器上
-
systemd-docker 重启容器 on-failure 并在重启时启用。
有没有更好的方法来做到这一点?
【问题讨论】:
标签:
docker
monitor
systemd
【解决方案1】:
我希望 docker 容器在主机重新启动时出现或在主机上重新启动 docker 时
这不是一个完整的答案,但要知道 docker 1.12 会添加一个daemonless container 模式
(PR 23213):
无守护容器
从 Docker 1.12 开始,容器可以在没有 Docker 或 containerd 运行的情况下运行。
这允许 Docker 守护进程退出、升级或从崩溃中恢复,而不会影响系统上正在运行的容器。
要启用此功能,您需要在启动 dockerd 时添加 --live-restore 标志。这将确保 Docker 在正常关闭或重启时不会杀死容器而使容器继续运行。