一个功能完善的 Docker 自动化安装脚本,支持多发行版、多架构,自带国内镜像加速和完整错误处理,适合生产环境快速部署。
- 多发行版支持 — Ubuntu / Debian / CentOS / RHEL / Rocky Linux / Fedora
- 多架构适配 — x86_64 / ARM64 / ARMv7 自动检测
- 版本可选 — 支持安装默认最新版或指定版本(如
24.0.7) - 国内镜像加速 — 自动配置国内 Docker 镜像源,解决拉取慢的问题
- 已有 Docker 处理 — 检测已安装的 Docker,可选卸载重装 / 跳过 / 升级
- Docker Compose — 可选安装 Docker Compose 插件
- 完整错误处理 — 安装失败自动清理,日志记录全流程
- 安装后验证 — 自动运行 hello-world 镜像验证安装成功
| 项目 | 要求 |
|---|---|
| 操作系统 | Ubuntu 20.04+ / Debian 11+ / CentOS 7+ / RHEL 8+ / Rocky Linux 8+ / Fedora 38+ |
| 架构 | x86_64 / ARM64 / ARMv7 |
| 磁盘空间 | 至少 5GB 可用空间 |
| 网络连接 | 需要访问互联网(内网需自行配置代理) |
| 权限 | root(使用 sudo 运行) |
# 下载脚本
curl -fsSL https://raw.githubusercontent.com/gxfdev/docker-install-script/main/install-docker-linux.sh -o install-docker.sh
# 执行安装
sudo bash install-docker.sh脚本会以交互方式引导你选择版本和配置,全程只需按回车确认。
sudo bash install-docker.sh --version 24.0.7# 不安装 Docker Compose
sudo bash install-docker.sh --no-compose
# 不使用国内镜像源
sudo bash install-docker.sh --no-mirror
# 不设置开机自启
sudo bash install-docker.sh --no-autostart
# 查看帮助
sudo bash install-docker.sh --help| 参数 | 说明 |
|---|---|
--version <版本号> |
指定 Docker 版本,格式 X.Y.Z(如 27.5.0) |
--no-compose |
跳过 Docker Compose 安装 |
--no-mirror |
不使用国内镜像源,使用 Docker 官方源 |
--no-autostart |
不设置 Docker 开机自启 |
--help |
显示帮助信息 |
脚本按以下 16 个步骤依次执行,每步都有日志记录和错误处理:
1. 检查 root 权限
2. 检查网络连通性
3. 检查磁盘空间(≥ 5GB)
4. 检测系统发行版和架构
5. 检查已安装的 Docker(交互选择:卸载重装/跳过/升级)
6. 选择 Docker 版本(交互或命令行指定)
7. 更新系统包索引
8. 安装必要依赖
9. 添加 Docker 官方 GPG 密钥
10. 添加 Docker 软件源
11. 安装 Docker Engine + CLI + Containerd
12. 配置 Docker Daemon(镜像加速、日志等)
13. 配置用户权限(将当前用户加入 docker 组)
14. 启动 Docker 服务并设置开机自启
15. 验证安装(运行 hello-world)
16. 显示安装总结
脚本需要 root 权限来安装系统包和配置服务,请使用 sudo 运行:
sudo bash install-docker.sh脚本会依次尝试 ping baidu.com、google.com、8.8.8.8。如果全部失败:
- 检查服务器网络配置
- 如在内网环境,先配置代理:
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
sudo -E bash install-docker.sh # -E 保留环境变量Docker 安装至少需要 5GB 可用空间,运行容器还需额外空间。清理方法:
# 查看磁盘使用
df -h
# 清理 APT 缓存(Ubuntu/Debian)
sudo apt clean
# 清理 YUM 缓存(CentOS/RHEL)
sudo yum clean all脚本检测到已安装的 Docker 后会提供 4 个选项:
| 选项 | 说明 |
|---|---|
| 1 - 卸载重装 | 彻底卸载旧版后重新安装(推荐) |
| 2 - 跳过安装 | 保持当前版本不变 |
| 3 - 仅升级 | 不卸载,直接升级到指定版本 |
| 4 - 退出 | 取消安装 |
脚本会自动将当前用户加入 docker 组,但需要重新登录才能生效:
# 临时生效(当前会话)
newgrp docker
# 或者退出 SSH 重新登录
exit
ssh user@server脚本默认配置的镜像源可能随时间失效,可手动更新 /etc/docker/daemon.json:
sudo nano /etc/docker/daemon.json{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://docker.m.daocloud.io"
]
}修改后重启 Docker:
sudo systemctl restart docker所有安装日志保存在 /var/log/docker-install/ 目录下:
# 查看最近的日志
ls -lt /var/log/docker-install/
# 查看日志内容
cat /var/log/docker-install/install_*.log# Ubuntu / Debian
sudo apt purge docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo rm -rf /var/lib/docker /var/lib/containerd /etc/docker
# CentOS / RHEL / Rocky
sudo yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo rm -rf /var/lib/docker /var/lib/containerd /etc/dockerdocker-install-script/
├── README.md # 项目简介(快速入口)
├── DETAILS.md # 详细文档(本文件)
├── install-docker-linux.sh # 一键安装脚本
└── LICENSE # 许可证