Docker 容器设置为自动重启

 Docker自动重启原因

Docker自动重启通常是由以下几个原因导致的:

  • 程序崩溃
  • 系统内存不足
  • 系统进程使用过多CPU和RAM导致的阻塞
  • docker容器被杀死或重新启动,导致应用程序中断
  • 网络中断

当这些问题出现时,Docker会自动重启运行中的服务来尝试解决问题。

docker update --restart=always mysql57

可以通过docker run的 --restart选项来设置自动重启。

docker run --restart=always [镜像名]

该命令设置重启容器时,将始终自动重启容器。

docker run --restart=unless-stopped [镜像名]

该命令设置重启容器时,只有当容器从未被停止或出现docker守护进程失败时,才会自动重启容器。

Docker 容器设置为自动重启,分为两种情况:新建容器时设置,和对已经存在的容器设置。

1、使用镜像创建新的容器运行

创建容器的时候设置容器为自动重启,命令行中加参数 –restart=always,命令如下:

docker run -d --restart=always --name 设置容器名 使用的镜像
1)以创建 InfluxDB(高性能的时序数据库) 容器为例

命令如下:

docker run -d -p 8086:8086 --restart=always --name influxdb  influxdb:latest
2)以创建 PostgreSQL(关系型数据库) 容器为例

命令如下:

docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=password --name postgres postgres:latest

2、已有的容器更新为自动重启

docker update --restart=always 容器ID(或者容器名)
1)已更新已有的 nginx 容器为例

命令如下:

docker update --restart=always nginx
2)已更新已有的 tomcat 容器为例

命令如下:

docker update --restart=always tomcat

关键参数说明

1. --restart=unless-stopped

这是 Docker 的重启策略配置,支持以下选项:

策略行为
no默认值,容器退出后不自动重启。
on-failure[:max-retries]容器非正常退出(退出码非0)时重启,可指定最大重试次数(如 on-failure:5)。
always无论退出状态如何,始终自动重启(包括手动停止后重启 Docker 服务时)。
unless-stopped容器自动重启,除非用户显式执行 docker stop 停止它(推荐使用)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值