docker服务开机自启需执行sudo systemctl enable docker.service并验证enabled状态,同时确保containerd等依赖已启用;容器自启则须设置--restart策略(如always或unless-stopped)。
docker engine 安装完成后,默认在多数主流 linux 发行版(如 ubuntu、centos、debian)中并不会自动启用开机自启动,需要手动配置。关键分两步:先确保 docker 服务本身开机自启,再确认容器具备重启策略——但“docker engine 开机自启”特指 docker.service 这个系统服务。
确认并启用 docker.service 开机自启
使用 systemd 管理的服务,只需一条命令即可完成配置:
- 执行 sudo systemctl enable docker.service —— 创建符号链接,让服务在 multi-user.target 启动时被拉起
- 验证是否生效:systemctl is-enabled docker,返回 enabled 即成功
- 如果服务当前未运行,可立即启动:sudo systemctl start docker
检查 Docker 服务状态和依赖
开机自启生效的前提是服务能正常加载。常见问题包括:
- 依赖服务缺失(如 containerd):Docker Engine 依赖 containerd 运行,需确保 containerd.service 已启用(sudo systemctl enable containerd)
- 端口或 socket 冲突:检查 docker.socket 是否被禁用或覆盖,一般保持默认即可
- SELinux 或防火墙拦截(CentOS/RHEL):确认 setsebool -P container_manage_cgroup on 等策略已应用
验证重启后是否真正生效
仅靠 enable 不代表万无一失,建议实测:
- 执行 sudo reboot(或用 sudo systemctl reboot)
- 重启后运行 systemctl status docker,观察 Active 状态为 active (running)
- 再运行 docker info | head -5,确认 Docker daemon 已就绪并可响应命令
补充说明:不是所有安装方式都一样
不同安装渠道影响默认行为:
- 官方 repo + apt/yum 安装(推荐):service 文件完整,enable 后即可靠
- 二进制包(dockerd 直接解压):需手动创建 /etc/systemd/system/docker.service,并 reload 配置
- Docker Desktop(Linux Beta):不适用此方法,它走用户级 systemd --user 会话,开机自启需额外开启“Start Docker Desktop when you log in”











