install-docker2.sh - Docker 交互式安装脚本

温馨提醒
总结摘要
install-docker2.sh 是一个支持版本选择和交互式安装的 Docker 脚本,提供 40个历史版本选择,支持静态二进制安装,适合需要特定 Docker版本的场景。

install-docker2.sh - Docker 交互式安装脚本

脚本功能

install-docker2.sh 是一个功能增强的 Docker 安装脚本,提供交互式版本选择界面,支持从 Docker 官方静态二进制包安装。脚本自动获取最新 40个可用版本供用户选择,支持一键安装最新版或手动选择特定版本,并自动配置 systemd服务、Docker Compose插件和镜像加速器。

核心特性

  • 交互式版本选择界面(支持 40 个历史版本)
  • 一键安装最新版本(-s参数)
  • 自动检测系统架构(amd64/arm64)
  • 集成 Docker Compose v2插件
  • 配置 systemd 服务单元文件
  • 预配置国内镜像加速器
  • 自动创建 docker用户组
  • 支持 Shell自动补全

脚本依赖

系统工具依赖

  • curl:下载 Docker二进制包和版本列表
  • tar:解压 Docker二进制包
  • systemd:管理 Docker服务
  • sudo:权限提升
  • groupadd/usermod:用户组管理

外部服务依赖

  • 互联网连接:访问 Docker官方下载源
  • 下载站点download-docker.eli1.top(镜像加速)

环境变量依赖

内置变量说明

1
download_site="download-docker.eli1.top"  # Docker 下载镜像站

系统要求

  • 操作系统:支持主流 Linux发行版
  • 架构:amd64、arm64
  • 权限:需要 root权限执行安装

参数用法

  • 无参数:显示交互式版本选择菜单
  • -s:静默安装最新版本(Skip selection)
1
2
3
4
5
# 交互式选择版本
./install-docker2.sh

# 直接安装最新版
./install-docker2.sh -s

使用方法

快速安装与使用

  1. 下载脚本

    1
    2
    3
    
    bash <(curl -sL sc.eli1.top) install-docker2 download
    # 或备用地址
    bash <(curl -sL download.elisky.cn) install-docker2 download
  2. 执行安装

    1
    2
    3
    4
    5
    
    # 交互式选择版本(推荐)
    sudo ./install-docker2.sh
    
    # 或直接安装最新版
    sudo ./install-docker2.sh -s
  3. 验证安装

    1
    2
    3
    4
    
    docker --version
    docker compose version
    systemctl status docker
    docker run hello-world

典型使用场景

场景 1:安装指定版本

1
2
3
sudo ./install-docker2.sh
# 在菜单中选择需要的版本号(输入 1-40 的数字)
# 例如:选择 Docker 20.10.24

场景 2:生产环境固定版本

1
2
3
4
# 编辑脚本,在 download_docker函数中指定版本
version="20.10.24"  # 固定版本
# 然后运行
sudo ./install-docker2.sh

场景 3:批量部署统一版本

1
2
3
4
5
# 使用-s参数批量安装最新版
for host in node1 node2 node3; do
    scp install-docker2.sh root@$host:/tmp/
    ssh root@$host "bash /tmp/install-docker2.sh -s"
done

实际应用场景

  • 多版本测试环境:测试不同 Docker版本的兼容性
  • 生产环境升级:先在测试环境验证特定版本再升级
  • 版本回滚:当新版本有问题时快速降级到稳定版本
  • 标准化部署:确保所有服务器使用相同 Docker版本
  • 离线环境准备:下载指定版本的二进制包用于离线安装

注意事项

版本选择建议

  • 最新稳定版:新功能、安全补丁,适合开发测试环境
  • 上一个 LTS版本:稳定性好,适合生产环境
  • 当前在用版本:避免不必要的变更

存储位置

  • 二进制文件/usr/bin/docker*
  • Systemd 服务/usr/lib/systemd/system/
  • 数据目录/var/lib/docker
  • Compose 插件/usr/libexec/docker/cli-plugins/docker-compose

配置优化

1
2
3
4
5
# 镜像加速(脚本已自动配置)
cat /etc/docker/daemon.json

# Shell补全(脚本已自动配置)
source <(docker completion bash)