Docker提供重启策略来控制容器在退出时链接的容器以正确的顺序启动。重新启动策略--live-restore与dockerd 命令标志不同。使用--live-restore可以使容器在Docker升级期间保持运行,即便网络和用户输入被中断。
使用重启策略
要为容器配置重启策略,请--restart在使用docker run命令时使用该标志。--restart标志的值可以是以下任意值:
no 不要自动重启容器。(默认)
on-failure 如果容器由于错误而退出,请重新启动容器,该错误表示为非零退出代码。
always 如果容器停止,请务必重新启动它。如果手动停止,则仅在Docker守护进程重新启动或容器本身手动重新启动时才重新启动。
unless-stopped 与相似always,除了在容器停止(手动或其他方式)时,即使重新启动Docker守护程序也不会重新启动容器。
以下示例启动Redis容器并将其配置为始终重新启动,除非已明确将其停止或重新启动Docker。
$ docker run -d --restart unless-stopped redis
此命令更改名为的已运行容器的重启策略redis。
$ docker update --restart unless-stopped redis
并且此命令将确保除非停止,否则将重新启动所有当前正在运行的容器。
$ docker update --restart unless-stopped $(docker ps -q)