最直接通用的方式是 systemctl restart docker,适用于大多数 systemd 系统,执行后需用 systemctl status docker 验证状态;它重启 docker 守护进程而非容器,容器会中断但镜像和卷不受影响。
一键重启 docker 服务进程,最直接、通用的方式就是用 systemctl restart docker。它适用于绝大多数基于 systemd 的 linux 发行版(如 ubuntu 22.04+、debian 10+、centos 7/8、rocky/almalinux 等),一条命令完成停止 + 启动全过程。
推荐:systemctl 一键重启(主流系统首选)
执行以下命令即可:
- sudo systemctl restart docker —— 标准、安全、原子性操作
- 执行后可立即验证状态:sudo systemctl status docker(看到 active (running) 即成功)
- 该命令不会自动重启已停止的容器;若需恢复业务容器,需额外运行 docker start 或使用 docker-compose up -d(如适用)
兼容旧系统:service 命令方式
部分较老发行版(如 Debian 8、Ubuntu 14.04)或精简环境仍使用 SysV init,可用:
- sudo service docker restart
- 效果等同于先 stop 再 start,但不依赖 systemd
- 执行后建议同样检查状态:sudo service docker status
注意:这不是重启容器,而是重启 Docker 守护进程本身
务必区分清楚:
-
docker restart
→ 只重启某个容器(不影响 Docker 服务) - sudo systemctl restart docker → 重启整个 Docker 后台服务(守护进程 dockerd),所有容器会中断,镜像和卷不受影响,但运行中容器状态丢失
- 生产环境执行前,建议先 docker stop $(docker ps -q) 主动停容器,避免非预期中断
补充:快速重载配置(无需重启服务)
如果只是修改了 /etc/docker/daemon.json 等配置文件,不需要重启整个服务,可热重载:
- sudo systemctl reload docker —— 重新读取配置,保持容器持续运行
- 比 restart 更轻量,适合调参后生效场景(如调整默认日志驱动、镜像仓库配置等)











