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