Docker容器重启策略

通过docker启动容器后,如果不指定重启策略,一旦容器异常情况下退出,比如机器发生重启,那么容器将不会重新被启动。

docker的重启策略主要有一下几种:

  • –restart=always: 表示容器退出的时候,docker总会重启这个容器(比如机器发生重启后)
  • –restart=on-failure:3 表示容器的退出状态为非0(非正常退出),docker自动重启此容器3次,3次后不再重启
  • –restart=no 默认值,表示容器退出时,docker不自动重启容器
  • –restart=unless-stopped 表示容器退出时总是重启,但是不考虑docker守护进程运行的时候已经停止的容器

举例如下:

下面命令表示创建一个Nginx容器,并设置重启策略为always,如下:

docker run -d --name nginx  --restart=always  nginx

如果在创建容器的时候没有指定–restart参数,可以通过update来更新容器

docker update   --restart=always   container-name //容器退出后总是重启
docker update   --restart=on-failure              //容器以非0状态退出后重启
docker update   --restart=on-failure:3            //容器以非0状态退出重启3,3次后放弃

标签