当前位置: 首页 > news >正文

install_docker.sh

#!/bin/bash
set -e  # 脚本执行过程中若出现错误则立即退出

# ===================== 1. 权限检查 =====================
if [ "$(id -u)" -ne 0 ]; then
echo "❌ 错误:本脚本需以 root 权限运行,请使用 sudo 或切换至 root 用户后执行"
exit 1
fi

echo "✅ 权限检查通过,开始执行 Docker 安装流程..."


# ===================== 2. 彻底清理旧仓库配置(关键步骤) =====================
echo -e "\n🔧 第一步:彻底清理所有 Docker 相关仓库配置..."
# 删除所有可能的 Docker 仓库配置文件
rm -f /etc/yum.repos.d/docker-* /etc/yum.repos.d/*docker*.repo
# 清除所有仓库缓存
dnf clean all
rm -rf /var/cache/dnf/*
# 确保没有残留的阿里云配置
sed -i '/mirrors.aliyun.com/d' /etc/yum.conf 2>/dev/null || true


# ===================== 3. 卸载旧版本 Docker =====================
echo -e "\n🔧 第二步:卸载系统中已有的旧版 Docker 组件..."
dnf remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
docker-ce \
docker-ce-cli || true  # 若没有旧版本,忽略错误


# ===================== 4. 安装依赖工具 =====================
echo -e "\n🔧 第三步:安装依赖工具..."
dnf install -y dnf-utils \
device-mapper-persistent-data \
lvm2


# ===================== 5. 配置华为云 Docker 源(确保纯净) =====================
echo -e "\n🔧 第四步:配置华为云 Docker 源..."
# 直接创建全新的华为云仓库配置(确保无阿里云残留)
cat > /etc/yum.repos.d/docker-ce.repo << EOF
[docker-ce-stable]
name=Docker CE Stable - \$basearch
baseurl=https://mirrors.huaweicloud.com/docker-ce/linux/centos/8/\$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo \$basearch
baseurl=https://mirrors.huaweicloud.com/docker-ce/linux/centos/8/debug-\$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://mirrors.huaweicloud.com/docker-ce/linux/centos/8/source/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.huaweicloud.com/docker-ce/linux/centos/gpg
EOF

# 验证仓库配置是否正确(关键检查)
echo -e "\n📌 验证仓库配置(确保是华为云地址):"
grep baseurl /etc/yum.repos.d/docker-ce.repo

# 刷新缓存(强制重新加载配置)
dnf makecache


# ===================== 6. 安装 Docker 核心组件 =====================
echo -e "\n🔧 第五步:安装 Docker 核心组件..."
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 验证安装的组件版本
echo -e "\n📌 已安装组件版本:"
docker --version
containerd --version
docker compose version


# ===================== 7. 启动 Docker 服务并配置开机自启 =====================
echo -e "\n🔧 第六步:启动 Docker 服务并设置开机自启..."
systemctl start docker
systemctl enable docker
systemctl status docker --no-pager


# ===================== 8. 配置华为云镜像加速 =====================
echo -e "\n🔧 第七步:配置华为云镜像加速..."
mkdir -p /etc/docker

# 华为云容器镜像服务加速地址
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": [
"https://05f073ad3c0000f6.mirror.swr.myhuaweicloud.com",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
EOF

systemctl daemon-reload
systemctl restart docker


# ===================== 9. 验证 Docker 功能 =====================
echo -e "\n🔧 第八步:验证 Docker 功能..."
docker run --rm hello-world

echo -e "\n🎉 Docker 安装及配置完成!所有功能验证通过!"

http://www.dtcms.com/a/395184.html

相关文章:

  • opencv的DNN模块里
  • FPGA学习笔记——图像处理之对比度调节(线性调节)
  • SkyWalking 核心概念与智能探针工作原理深度揭秘(上)
  • leetcode hot100 简单难度 day02-刷题
  • ARP报文格式
  • 【论文速递】2025年第26周(Jun-22-28)(Robotics/Embodied AI/LLM)
  • 用【PinMe】轻松实现前端部署(文章附有演示案例)
  • 巨坑Spring ai 之spring-ai-starter-vector-store-elasticsearch
  • 【LeetCode 每日一题】2349. 设计数字容器系统
  • i.MX6ULL移植内核6.6(一)修改网络驱动和LCD驱动
  • vue-router(vue 路由)基本使用指南(一)
  • 酒店台账报表:押金原路退回与收支自动化指南-东方仙盟自动化
  • ⸢ 伍-Ⅰ⸥ ⤳ 默认安全治理实践:软件供应链安全治理
  • LeetCode 刷题【88. 合并两个有序数组、89. 格雷编码】
  • 《青花》歌曲,使用3D表现出意境
  • 【Linux篇】- Ext系列文件系统
  • C++符号表
  • Pythoner 的Flask项目实践-带折叠菜单的响应式多页面应用签到墙(源码)
  • 异常:java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
  • Java-131 深入浅出 MySQL MyCat 深入解析 schema.xml 配置详解:逻辑库、逻辑表、数据节点全攻略
  • Vmware CentOS Docker Daemon配置代理
  • 【JAVA】java多态
  • 【AI分析进行时】大模型显存需求估算与国内开源模型实践指南
  • C++基础:(一)C++入门知识介绍(上)
  • Python项目的多语言翻译babel
  • python flask框架详解
  • 基于STM32单片机的家庭医护血氧体温血压吃药监测APP系统
  • 整合亮数据Bright Data与Dify构建自动化分析系统
  • Browser-Use+cpolar:企业网页操作自动化的无界解决方案
  • 深入理解 Elasticsearch:核心原理、性能优化与高频面试题解析