答案是:先验证 Docker 服务状态(systemctl status docker)、再测试基础功能(docker info 和 hello-world)、最后确认开机自启(systemctl is-enabled docker.service),三步缺一不可。

安装 Docker 后,验证服务是否正常运行、能否自动恢复、是否开机自启,是保障后续容器稳定运行的关键三步。重点不在“装上了”,而在“它能不能自己扛住异常”。
确认 Docker 服务已启动并处于活跃状态
服务没起来,一切健康检查都无从谈起。最直接的方式是查 systemd 状态:
- 运行 sudo systemctl status docker,看到 Active: active (running) 才算真正就绪
- 如果显示 inactive (dead),用 sudo systemctl start docker 启动,并建议立即设置开机自启
- 顺手执行 docker version,能打印出 client 和 server 的版本号,说明 Docker CLI 和守护进程通信正常
验证 Docker 自身的健康响应能力
Docker 服务本身不提供内置 health endpoint,但你可以通过它的基础功能来间接验证其“健康响应”能力:
- 运行 docker info —— 能返回完整系统信息(如存储驱动、容器数量、镜像数),说明守护进程工作正常
- 执行 docker run --rm hello-world —— 成功输出 “Hello from Docker!” 表示镜像拉取、容器创建、启动、日志输出全流程通畅
- 若卡在 pull 阶段或报 Cannot connect to the Docker daemon,说明服务未运行或权限不足(需加 sudo 或将用户加入 docker 组)
检查 Docker 服务是否配置为开机自启
避免系统重启后整个容器生态瘫痪,必须确认 Docker 守护进程自身具备自启能力:
- 运行 systemctl is-enabled docker.service,返回 enabled 即表示已设为开机自启
- 若返回 disabled,执行 sudo systemctl enable docker.service 开启
- 注意:enable 不等于 start,启用后仍需手动 start 一次,或重启系统验证生效
延伸提醒:服务健康 ≠ 容器健康
Docker 服务运行正常,只代表“调度层”可用;你部署的每个容器是否真能对外提供服务,还需单独配置 HEALTHCHECK 并搭配 restart 策略。比如一个 Web 容器即使进程活着,也可能因内存泄漏而无法响应请求——这时只有容器级健康检查+--restart=unless-stopped才能实现自动恢复。


















