# Environment_installation **Repository Path**: panshu01/install_docker_and_compose ## Basic Information - **Project Name**: Environment_installation - **Description**: 本 .sh 脚本旨在简化各种环境的安装流程。 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-01-04 - **Last Updated**: 2025-02-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: Docker ## README **全场景自适应 Docker 全家桶安装解决方案**,针对复杂网络环境、多操作系统架构、严格安全限制等场景 ### 方案核心优势 1. **智能环境感知** - 自动检测网络环境(国内/国际) - 自动识别 20+ 种 CPU 架构 - 支持 5 大主流 Linux 发行版 - SELinux/AppArmor 自动适配 2. **军工级安全措施** - GPG 签名双重校验 - 二进制文件完整性验证 - 入侵检测锁定机制 - 自动防火墙配置 3. **极端环境应对** - 多级镜像源自动切换(阿里云/腾讯云/华为云) - 离线安装模式支持(通过环境变量指定本地包) - 自动依赖冲突解决 - 版本降级能力(指定 DOCKER_VER 变量) 4. **企业级功能** - 自动审计日志记录 - 服务健康自检 - 内核参数自动优化 - Cgroup 驱动自动适配 以下是为您整理的 **详细使用指南**,包含不同场景下的调用模式、版本指定方法及注意事项: --- 安装前操作: ```bash # 更新软件包列表(仅适用于Debian/Ubuntu系统) sudo apt-get update -y # 安装dos2unix工具(用于转换Windows格式换行符) sudo apt-get install -y dos2unix # 转换指定文件的换行符格式 dos2unix install_docker_and_compose.sh # 添加可执行权限 chmod +x install_docker_and_compose.sh ``` ### 一、基础安装模式 #### 1.1 自动模式(推荐) ```bash # 自动检测网络环境选择镜像源 sudo ./install_docker.sh ``` #### 1.2 强制国内镜像源 ```bash # 适用于国内访问国际源受限的情况 sudo MIRROR_MODE=cn ./install_docker.sh ``` #### 1.3 强制国际镜像源 ```bash # 适用于海外服务器或企业专线环境 sudo MIRROR_MODE=international ./install_docker.sh ``` --- ### 二、指定版本安装模式 #### 2.1 指定Docker版本 ```bash # 安装指定Docker版本(兼容旧版本) sudo DOCKER_VER=20.10.23 ./install_docker.sh ``` #### 2.2 指定Docker Compose版本 ```bash # 安装指定Compose版本(支持1.x和2.x) sudo DOCKER_COMPOSE_VER=2.20.0 ./install_docker.sh ``` #### 2.3 同时指定双版本 ```bash # 安装Docker 23.0 + Compose 2.24.5 sudo DOCKER_VER=23.0.6 DOCKER_COMPOSE_VER=2.24.5 ./install_docker.sh ``` #### 2.4 查看可用版本 ```bash # 查看Docker可用版本(需替换发行版标识) curl -sSL https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/ | grep "docker-ce_" | awk -F'_' '{print $2}' # 查看Compose可用版本 curl -sSL https://api.github.com/repos/docker/compose/releases | grep "tag_name" | cut -d'"' -f4 ``` --- ### 三、离线安装模式 #### 3.1 生成离线包 ```bash # 在有网络的环境中生成离线安装包 sudo ./install_docker.sh --download-only ``` 生成文件:`/tmp/docker-offline-pkg-$(date +%Y%m%d).tar.gz` #### 3.2 传输离线包 ```bash # 使用SCP传输到目标机器(示例) scp /tmp/docker-offline-pkg-20231001.tar.gz user@target-server:/tmp/ ``` #### 3.3 离线安装 ```bash # 在目标服务器执行离线安装 sudo ./install_docker.sh --offline --pkg-path /tmp/docker-offline-pkg-20231001.tar.gz ``` --- ### 四、调试诊断模式 #### 4.1 开启详细日志 ```bash # 显示完整安装过程(调试网络问题时使用) sudo DEBUG=true ./install_docker.sh ``` #### 4.2 环境预检模式 ```bash # 仅检测环境不执行安装 sudo ./install_docker.sh --dry-run ``` #### 4.3 日志分析 ```bash # 查看安装日志(安装失败时使用) tail -f /var/log/docker-install.log ``` --- ### 五、高级配置模式 #### 5.1 自定义安装路径 ```bash # 将Docker Compose安装到自定义目录 sudo INSTALL_PATH=/opt/bin/docker-compose ./install_docker.sh ``` #### 5.2 企业代理配置 ```bash # 通过代理服务器访问(需要先配置代理) sudo http_proxy=http://corp-proxy:3128 https_proxy=http://corp-proxy:3128 ./install_docker.sh ``` #### 5.3 安全加固模式 ```bash # 启用SELinux/AppArmor强制模式 sudo SECURITY_MODE=strict ./install_docker.sh ``` --- ### 六、版本管理示例 #### 6.1 安装生产环境推荐版本 ```bash sudo DOCKER_VER=24.0.7 DOCKER_COMPOSE_VER=2.23.3 ./install_docker.sh ``` #### 6.2 安装K8s兼容版本 ```bash # 安装Kubernetes官方验证版本 sudo DOCKER_VER=20.10.25 DOCKER_COMPOSE_VER=1.29.2 ./install_docker.sh ``` #### 6.3 回滚旧版本 ```bash # 回滚到历史稳定版本 sudo DOCKER_VER=19.03.15 DOCKER_COMPOSE_VER=1.27.4 ./install_docker.sh ``` --- ### 七、验证与维护 #### 7.1 验证安装 ```bash # 检查Docker状态 systemctl status docker # 运行测试容器 docker run --rm hello-world # 验证Compose版本 docker-compose version ``` #### 7.2 卸载指南 ```bash # 完全卸载Docker sudo apt-get purge docker-ce docker-ce-cli containerd.io sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd # 卸载Compose sudo rm -f /usr/local/bin/docker-compose ``` #### 7.3 后续升级 ```bash # 仅升级Docker sudo DOCKER_VER=24.0.7 ./install_docker.sh --upgrade # 仅升级Compose sudo DOCKER_COMPOSE_VER=2.23.3 ./install_docker.sh --upgrade ``` --- ### 注意事项: 1. **版本兼容性**: - Docker 24.0+ 需要 Linux 内核 ≥5.13 - Compose v2.x 需要 Docker Engine ≥20.10.14 2. **特殊架构支持**: ```bash # ARM设备需显式指定架构 sudo ARCH=arm64 DOCKER_VER=24.0.7 ./install_docker.sh ``` 3. **企业级配置**: ```bash # 修改默认cgroup驱动为systemd sudo mkdir -p /etc/docker echo '{"exec-opts": ["native.cgroupdriver=systemd"]}' | sudo tee /etc/docker/daemon.json sudo systemctl restart docker ``` 该方案已通过以下场景验证: - ✅ 内网无外网访问环境(需配合离线包) - ✅ 等保2.0三级安全要求环境 - ✅ 混合ARM/x86异构集群 - ✅ 银行核心系统麒麟OS环境 建议将安装命令封装到Ansible Playbook中实现批量部署: ```yaml - name: 安装Docker全家桶 hosts: all vars: docker_version: 24.0.7 compose_version: 2.23.3 tasks: - script: install_docker.sh environment: DOCKER_VER: "{{ docker_version }}" DOCKER_COMPOSE_VER: "{{ compose_version }}" ```