在阿里云 Ubuntu 实例中,Docker 服务默认通常已经配置为开机自启。但为了确保稳定性,或者在重装系统、修改配置后重新生效,你可以按照以下步骤检查和设置。
核心方法:使用 systemctl 命令
Ubuntu 16.04 及以上版本(包括 18.04、20.04、22.04 等主流 LTS 版本)均使用 systemd 作为初始化系统。因此,管理 Docker 自启的标准方式是使用 systemctl。
1. 启用 Docker 开机自启
执行以下命令:
sudo systemctl enable docker
该命令会创建符号链接,确保在系统启动时自动启动 Docker 守护进程。
2. 验证是否已启用
执行以下命令查看状态:
systemctl is-enabled docker
如果输出为 enabled,则表示已成功设置为开机自启。如果输出为 disabled,请重新执行第 1 步。
3. (可选)立即启动 Docker 服务
如果你刚安装完 Docker,可能尚未运行服务,建议先手动启动一次:
sudo systemctl start docker
4. 验证 Docker 正在运行
sudo systemctl status docker
确认状态为 active (running) 即可。
补充说明与注意事项
- 默认行为:通过官方源或脚本安装 Docker 时,
enable操作通常会自动执行。你可以通过systemctl is-enabled docker快速确认。 - 非 root 用户权限:上述命令需使用
sudo提权执行。 - 重启测试:为确保万无一失,可执行
sudo reboot重启实例,然后再次登录并运行docker --version或docker ps,若能正常显示信息,则说明自启配置成功。 - 阿里云 ECS 实例提示:在阿里云控制台重启实例属于“软重启”,不影响操作系统内的 systemd 配置;若通过“停止/启动”方式重启实例,同样会触发系统级自启逻辑,无需额外干预。
常见误区澄清
- 不要使用
update-rc.d:这是旧版 SysVinit 的管理工具,在 systemd 环境下已不推荐,且可能与现代 Docker 包管理机制冲突。 - 不要手动编辑
/etc/rc.local:除非有特殊需求,否则不建议将 Docker 加入 rc.local,因为 systemd 的服务依赖管理和日志记录更完善。
总结
只需一条命令即可完成设置:
sudo systemctl enable docker
之后通过 systemctl is-enabled docker 确认为 enabled 即告完成。
CLOUD云枢