docker 运行容器时使用 —restart 参数可以指定一个 restart 策略,来指定容器应该如何重启,或不应该重启,当容器启用 restart 策略时,将会载 docker ps 显示 up 或者 restart 状态,当然也可以使用 docker events 命令生效命令中 restatcel 策略。

    docker 支持的 restart 策略

    • no - 容器退出时不要自动重启,这个是默认值

    • on-failure 在容器非正常退出时(退出状态非 0),才会重启容器

    • on-failure[:max-retries] 超过指定次数未能启动则放弃

    • always 不管退出状态码是什么,始终重启容器,当指定 always 时,docker daemon 将无数次的重启容器,容器也会在 daemon 启动时尝试重启,不管容器的状态如何。

    • unless-stopped 在容器退出时,总是重启,但不考虑在 docker 守护进程启动之时,就已经停止了的容器,

    1. docker run --restart=no
    2. docker run --restart=on-failure :3 [容器名] #超过三次重启失败后自动放弃

    restart 选项通常只用于 datached (后台运行)模式的容器,

    当使用了 —restart 选项的容器通过 docker ps 查看容器时其可能状态只用两种 up or restarting

    查看容器重启次数
    docker inspecdt {{ .RestartCount }} containerName
    查看容器最后一次启动时间
    docker inspect {{.State.StartedAt}} containerName