推荐使用存储库+包管理器方式自动化安装Docker Engine,适配Ubuntu/Debian/CentOS/RHEL等主流云主机系统,统一配置国内镜像源、启用服务、加入docker组,并支持离线与WSL2场景。
在云主机上自动化安装 docker engine,核心是绕过手动交互、适配不同发行版、并确保后续可维护。不需要图形界面,也不依赖 docker desktop,直接部署轻量、稳定、可脚本化管理的原生 docker engine。
选对安装方式:推荐存储库 + 包管理器
这是最可靠、可升级、兼容性最好的方式,适用于主流云主机系统(Ubuntu 20.04/22.04、CentOS 7/8、Rocky/AlmaLinux、Debian 11/12)。关键在于用脚本封装标准流程,避免逐条复制粘贴。
- Ubuntu/Debian 系统:自动添加官方 GPG 密钥、配置 stable 仓库、安装 docker-ce、containerd.io 和 docker-compose-plugin
- CentOS/RHEL 系统:启用 yum-utils、添加 docker-ce.repo、安装 docker-ce、docker-ce-cli、containerd.io
- 所有系统统一执行:启动服务 + 加入开机自启 + 当前用户加入 docker 组,避免反复 sudo
国内源加速:必须配置镜像源
云主机多数在国内,直连官方源(download.docker.com)常超时或失败。安装前应替换为可信镜像源,例如:
- 阿里云源(Ubuntu):
https://mirrors.aliyun.com/docker-ce/linux/ubuntu/ - 清华源(CentOS):
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/ - 安装脚本中用
sed或变量注入替换 baseurl,或直接下载 repo 文件后修改
一键脚本示例(通用逻辑)
以下是一个生产环境可用的简化逻辑(实际使用请校验系统版本和签名):
- 检测发行版和版本号(如
lsb_release -is+-rs) - 卸载冲突包(
docker、docker.io、podman等旧组件) - 安装依赖(
curl、gnupg、ca-certificates等) - 导入 GPG 密钥(校验指纹,如 Ubuntu 是
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35) - 写入对应仓库配置,启用 stable 渠道
-
apt-get install -y docker-ce docker-ce-cli containerd.io或yum install -y docker-ce docker-ce-cli containerd.io systemctl enable --now docker && usermod -aG docker $USER
进阶:支持离线与 WSL2 场景
部分云主机处于专有网络或无外网环境,需提前下载 RPM/DEB 包及依赖:
- 用一台联网机器生成完整依赖树(
apt-rdepends或yum deplist),打包传输 - WSL2 中的云开发环境(如 Azure Cloud Shell 本地代理)也适用该脚本,但需额外处理 systemd 兼容性(确认
sudo service docker start可用,或启用systemd-genie) - 容器化部署场景下,可将该安装逻辑打包进基础镜像(如
FROM ubuntu:22.04+ RUN 安装指令),用于快速生成 Docker-ready 的云实例模板


















