最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Docker 部署如何实现容器的开机自启与重启策略
时间:2026-08-27 20:02:49 编辑:袖梨 来源:一聚教程网
要让 Docker 容器在服务器重启后自动运行,必须同时启用 Docker 服务开机自启(sudo systemctl enable docker)并为容器设置重启策略(如 --restart=always);仅做其一无效。
要让 Docker 容器在服务器重启后自动运行,必须同时满足两个前提:Docker 服务本身开机自启,且容器设置了合适的重启策略。单独做其中一项是不够的。
确保 Docker 服务开机自启
Docker 容器依赖 Docker 守护进程(dockerd)运行。如果系统启动时 docker 服务没起来,所有容器都起不来。
- 启用开机自启:sudo systemctl enable docker.service
- 立即启动服务(非必须,但建议验证):sudo systemctl start docker
- 确认状态:systemctl is-enabled docker(返回 enabled 表示已设置)
为容器配置重启策略
重启策略决定容器退出后是否自动拉起,它不依赖宿主机是否“开机”,而是由 Docker 守护进程在检测到容器停止时触发。
- --restart=always:容器退出就重启,无论退出码(最常用,适合长期服务如 Nginx、MySQL)
- --restart=on-failure[:max-retries]:仅当退出码非 0 时重启,可限制最大重试次数(适合批处理类任务)
-
--restart=unless-stopped:默认总是重启,但如果容器被手动
docker stop,则不会在 daemon 重启后自动恢复(兼顾可控性) - --restart=no:不重启(默认值)
新建容器时直接设置
创建容器阶段就指定策略,最稳妥:
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
相关文章
- nolibox-nolibox,ai绘画宇宙nolibox,计算美学图宇宙,全链路 AIGC和人工智能设计服务 08-27
- 《异环》何处是归乡任务完成攻略 08-27
- 掌握WPS制作PPT的简单步骤让你轻松出彩 08-27
- 鸣潮陆赫斯技能加点与命座推荐 08-27
- 《异环》倾世之雨说明 08-27
- 通义万象如何制作夕阳下小路延伸到远方的孤独美学照片 08-27