阿里云Ubuntu实例安装Docker后如何设置开机自启?

在阿里云 Ubuntu 实例上安装 Docker 后,Docker 默认已配置为开机自启(enabled),但为确保万无一失,你可以按以下步骤验证并手动启用(如需):


✅ 1. 确认 Docker 已正确安装

docker --version
sudo systemctl status docker

若显示 active (running),说明服务正在运行;若报错或未找到命令,请先安装 Docker(推荐使用官方方式):

# 卸载旧版本(如有)
sudo apt remove docker docker-engine docker.io containerd runc

# 安装依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

# 添加 Docker 官方 GPG 密钥和仓库
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

✅ 2. ✅ 设置并验证开机自启(关键步骤)

Docker 安装后,systemd 服务默认 已启用(enabled),但仍建议显式确认与设置:

# ① 启用开机自启(即使已启用,执行也无害)
sudo systemctl enable docker

# ② 验证是否已启用(输出应含 "enabled")
sudo systemctl is-enabled docker
# 👉 正常输出:enabled

# ③ 检查当前状态
sudo systemctl status docker
# 👉 应显示 "active (running)" 且 "Loaded: loaded...; enabled; vendor preset: enabled"

🔍 提示:systemctl enable docker 会创建软链接 /etc/systemd/system/multi-user.target.wants/docker.service/lib/systemd/system/docker.service,确保系统启动时自动拉起。


✅ 3. (可选)添加当前用户到 docker 组(免 sudo 运行命令)

sudo usermod -aG docker $USER
# 退出终端重新登录,或运行:
newgrp docker  # 立即生效(当前会话)

验证:

docker run --rm hello-world  # 不加 sudo 应成功运行

✅ 4. (可选)配置 Docker 镜像提速器(国内推荐,提升拉取速度)

阿里云提供免费镜像提速器(需登录阿里云容器镜像服务控制台获取专属提速地址,形如 https://<your-code>.mirror.aliyuncs.com):

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://<your-code>.mirror.aliyuncs.com"]
}
EOF

# 重启 Docker 生效
sudo systemctl daemon-reload
sudo systemctl restart docker

❌ 常见误区提醒

  • ❌ 不要使用 sudo service docker startsudo /etc/init.d/docker start(Ubuntu 20.04+ 使用 systemd,应统一用 systemctl)。
  • ❌ 不要手动编辑 /etc/rc.local 启动 Docker(过时且不可靠)。
  • ✅ 阿里云实例无需额外配置“云平台开机自启”——只要 systemd 服务启用,实例重启后 Docker 自动启动。

总结命令(一键验证+启用)

sudo systemctl enable docker && 
sudo systemctl start docker && 
sudo systemctl is-enabled docker && 
sudo systemctl status docker --no-pager -l

如仍有问题,可提供 sudo systemctl status dockerjournalctl -u docker --since "1 hour ago" 输出进一步排查。

需要我帮你生成完整的自动化脚本或配置阿里云镜像提速器?欢迎继续提问! 😊

未经允许不得转载:ECLOUD博客 » 阿里云Ubuntu实例安装Docker后如何设置开机自启?