要让 Docker 容器在服务器重启后自动运行,必须同时启用 Docker 服务开机自启(sudo systemctl enable docker)并为容器设置重启策略(如 --restart=always);仅做其一无效。
要让 Docker 容器在服务器重启后自动运行,必须同时满足两个前提:Docker 服务本身开机自启,且容器设置了合适的重启策略。单独做其中一项是不够的。
Docker 容器依赖 Docker 守护进程(dockerd)运行。如果系统启动时 docker 服务没起来,所有容器都起不来。
重启策略决定容器退出后是否自动拉起,它不依赖宿主机是否“开机”,而是由 Docker 守护进程在检测到容器停止时触发。
docker stop,则不会在 daemon 重启后自动恢复(兼顾可控性)创建容器阶段就指定策略,最稳妥:
docker run -d --restart=always --name myapp -p 8080:80 nginx:alpine
注意:-d 是后台运行的必要条件,前台模式(如 -it)不适用重启策略。
无需删掉重建,用 docker update 即可生效(无需重启 Docker 服务):
docker update --restart=always myapp
批量设置所有容器(谨慎使用):
docker update --restart=always $(docker ps -aq)
查看某容器当前策略:
docker inspect -f '{{.HostConfig.RestartPolicy.Name}}' myapp
TPLink TLWDR4320 无线路由器IP带宽控制功能分配带宽设置方法
SQL Server 2008及更高版本数据库恢复做法之日志尾部备份实用指南
TPLink TLWDR4320 无线路由器控制管控小孩上网行为设置
TPLink TLWDR4320 无线路由器打印服务器设置指南
TPLink TLWDR8620 52 无线路由器当作交换机使用教程
TPLink TLWDR8620 52 无线路由器映射服务器到外网操作方法