温馨提示×

CentOS上Docker容器的自动重启策略

小樊
33
2025-11-25 18:17:52
栏目: 智能运维

在CentOS上,Docker容器的自动重启策略可以通过docker run命令的--restart选项来设置。以下是关于自动重启策略的详细说明:

重启策略选项

  1. no

    • 默认值。
    • 不自动重启容器,即使容器退出或Docker守护进程重启。
  2. on-failure[:max-retries]

    • 当容器退出状态码非0时(表示容器以错误状态退出),自动重启容器。
    • max-retries是可选参数,指定最大重启次数。如果不指定,默认为1。
  3. always

    • 无论退出状态码是什么,总是自动重启容器。
  4. unless-stopped

    • 类似于always,但不会在容器被手动停止时重启。

使用示例

创建一个容器并设置重启策略为on-failure,最大重试次数为3次:

docker run -d --restart on-failure:3 my-image

创建一个容器并设置重启策略为always

docker run -d --restart always my-image

创建一个容器并设置重启策略为unless-stopped

docker run -d --restart unless-stopped my-image

查看现有容器的重启策略

你可以使用以下命令查看正在运行的容器的重启策略:

docker inspect <container_id_or_name> | grep RestartPolicy

或者查看所有容器的重启策略:

docker ps -a --format "table {{.Names}}\t{{.Restarting}}\t{{.RestartCount}}"

注意事项

  • 重启策略仅在容器退出时生效。
  • 如果Docker守护进程重启,所有容器都会根据其重启策略重新启动。
  • 在某些情况下,可能需要结合使用--restart选项和其他Docker配置(如健康检查)来实现更复杂的重启逻辑。

通过合理设置重启策略,可以提高容器的可靠性和稳定性,确保在发生故障时能够自动恢复服务。

0