
docker --restart 容器重启策略
当容器退出后,或者docker程序重启了,容器是否要重启,可以用重启策略控制。用docker run命令的时候,用--restart 设置容器重启策略。
官网连接:https://docs.docker.com/config/containers/start-containers-automatically/
当容器退出后,或者docker程序重启了,容器是否要重启,可以用重启策略控制。
用docker run命令的时候,用--restart 设置容器重启策略
使用重新启动策略时,请记住以下几点:1.重新启动策略仅在容器启动成功后生效。在这种情况下,成功启动意味着容器已启动至少10秒钟,并且Docker已开始对其进行监视。这样可以防止根本不启动的容器进入重新启动循环。 2.如果您手动停止容器,则会忽略重新启动策略,直到Docker守护程序重新启动或手动重新启动容器。这可以防止重新启动循环。 3.重新启动策略仅适用于容器。 4.当您在前台运行容器时,停止容器会导致附加的CLI也退出,而不管容器的重新启动策略如何。 |
选项如下:
Flag | Description |
no | 不自动重启容器。(默认) |
on-failure[:max-retries] | 如果容器因为错误退出了(退出码非0),就会自动重启 如果守护程序重新启动,它不会重新启动容器。 |
always | 只要容器停止,就重新启动容器。但是如果它是手动停止的,则仅在Docker守护程序重新启动或容器本身手动重新启动时才重新启动。 |
unless-stopped | 和always类似,但如果是手动停止的,即使Docker守护程序重新启动,它也不会被自动启动 |
以下命令启动Redis容器并将其配置为始终重新启动,除非该容器被显式停止。
$ docker run -d --restart unless-stopped redis
下面的命令为正在运行中的容器更改重启策略
$ docker update --restart always redis
下面的命令批量更改重启策略
$ docker update --restart always $(docker ps -q)
更多推荐
所有评论(0)