要让 docker engine 开机自动启动,需启用 docker.service:sudo systemctl enable docker.service,并确保 containerd 已启用;服务自启不等于容器自启,容器需单独设置 --restart 策略。
要让 docker engine 开机自动启动,核心是启用 docker.service 这个 systemd 服务。它不随安装自动开启,必须手动配置,否则重启后 docker daemon 不会运行,所有容器也无法拉起。
启用 docker.service 开机自启
在主流 Linux 发行版(Ubuntu 20.04+、CentOS 7/8、Debian 10+ 等)中,执行以下命令即可:
-
启用服务自启:
sudo systemctl enable docker.service -
立即启动服务(无需重启):
sudo systemctl start docker -
验证是否生效:
systemctl is-enabled docker—— 输出enabled表示成功 -
确认当前运行状态:
systemctl status docker—— 应显示active (running)
检查并确保依赖服务已启用
Docker Engine 依赖 containerd 正常工作。如果 containerd 没启用或启动失败,docker.service 可能无法加载:
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
- 启用 containerd:
sudo systemctl enable containerd - 启动 containerd:
sudo systemctl start containerd - 检查其状态:
systemctl status containerd - 如使用 SELinux(如 CentOS/RHEL),需运行:
sudo setsebool -P container_manage_cgroup on
验证重启后是否真正生效
仅执行 enable 不代表万无一失,必须实测:
- 重启系统:
sudo reboot(或 WSL2 中用wsl --shutdown后重新打开终端) - 登录后检查:
systemctl status docker—— 确保为active (running) - 再运行:
docker info | head -5—— 能正常输出说明 daemon 已就绪
注意:服务自启 ≠ 容器自启
Docker 服务开机启动,只是 daemon 起来了;你的容器不会自动运行,除非显式设置了重启策略:
- 新建容器时加参数:
docker run -d --restart=always --name myapp nginx - 已有容器补设:
docker update --restart=always myapp - 常用策略:
always(推荐生产环境)、unless-stopped(跳过被手动 stop 的容器)










