Linux 环境服务开机启动采用 systemctl enable 方式或在 rc.local 添加启动,docker 开机启动容器十分简单,在 docker run 指令中加入 --restart=always
就行。
命令
sudo docker run --restart=always ...
如果创建时未指定 --restart=always
,可通过 docker update
命令设置:
docker update --restart=always xxx
前提 Dockers 服务开机启动:
sudo systemctl enable docker.service
PS:停止容器时,也可以修改 /var/lib/docker/containers/<id>/hostconfig.json
中 "RestartPolicy":{"Name":"always"
,然后启动容器。
restart 参数介绍
--restart
具体参数值详细信息:
- no : 容器退出时,不重启容器
- on-failure : 只有在非0状态退出时才从新启动容器
- always : 无论退出状态是如何,都重启容器
- unless-stopped – 在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
在使用 on-failure
策略时,指定Docker将尝试重新启动容器的最大次数。
默认情况下,Docker将尝试永远重新启动容器。
sudo docker run --restart=on-failure:5 <image>