Kali Linux系统重启后Docker容器自动停止该如何解决
Kali Linux系统重启后Docker容器自动停止的问题排查与解决
常见原因及对应修复方案
- 原因1:容器未配置正确的重启策略
绝大多数该问题都是因为容器启动时没有指定持久化的重启策略,默认策略为no,即Docker服务重启后不会自动拉起容器。
排查命令:docker inspect <容器名/容器ID> | grep RestartPolicy
修复命令:针对已创建的容器执行docker update --restart=always <容器名/容器ID>;新启动容器时直接添加参数:docker run -d --restart=always <镜像名> - 原因2:Docker服务未开启开机自启
如果Docker本身没有配置随系统启动,系统重启后Docker服务未运行,容器自然不会启动。
排查命令:systemctl is-enabled docker,输出为disabled即未开启自启
修复命令:systemctl enable --now docker - 原因3:容器运行依赖异常或被系统权限拦截
Kali默认带有较多安全限制规则,可能出现重启后容器挂载的目录不存在、占用的端口被其他进程抢占、运行权限不足等问题,导致容器启动失败自动退出。
排查方法:执行docker logs <容器名/容器ID>查看容器运行日志,执行journalctl -u docker -n 50查看Docker服务的运行报错,根据具体错误处理即可。 - 原因4:容器本身为一次性任务容器
如果容器内运行的是执行即结束的单次任务(比如临时测试命令、脚本执行任务),任务运行完成后容器会正常退出,不属于故障,如需常驻运行需要确保容器内启动的是常驻后台进程。
注意事项
如果使用docker-compose部署容器,需要在对应服务的配置段中添加restart: always配置,修改后执行docker-compose up -d重新加载配置才会生效,单独给容器设置的重启策略会被compose配置覆盖。
内容的提问来源于stack exchange,提问作者Vladzzz
相关产品推荐
相关产品推荐

