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

【超详细】CentOS系统Docker安装与配置一键脚本(附镜像加速配置)

【超详细】CentOS系统Docker安装与配置一键脚本(附镜像加速配置)

在Linux系统中部署Docker是开发者和运维人员的常用操作,本文将详细介绍如何在CentOS系统中通过脚本快速安装Docker,并配置国内镜像加速器以提升镜像拉取速度。全程实操,新手也能轻松上手!

一、环境说明

  • 操作系统:CentOS 7(CentOS 8也可参考,部分命令需微调)
  • 前提条件:系统已联网,建议使用root用户操作(非root用户需添加sudo权限)
  • 目标:安装Docker CE(社区版),配置国内镜像源,实现容器快速部署

二、安装前准备

在安装Docker前,我们需要做一些基础配置,包括关闭防火墙、禁用SELinux、配置国内yum源等,这些操作能减少后续安装过程中的兼容性问题。

三、详细安装步骤

步骤1:关闭防火墙与SELinux

CentOS默认启用的防火墙和SELinux可能会限制Docker的网络通信,建议临时关闭(生产环境可根据需求配置规则):

# 停止并禁用firewalld防火墙
systemctl stop firewalld && systemctl disable firewalld# 临时禁用SELinux(立即生效)
setenforce 0# 永久禁用SELinux(需重启生效,可选)
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config

步骤2:配置国内yum源

CentOS默认yum源在国内访问速度较慢,替换为阿里云源可大幅提升软件包下载速度:

  1. 备份原有yum源:

    mkdir -p /media/yum.repos.d.backup
    mv /etc/yum.repos.d/* /media/yum.repos.d.backup 2>/dev/null
    
  2. 创建阿里云CentOS源配置文件/etc/yum.repos.d/centos.repo,内容如下:

    [base]
    name=CentOS-$releasever - Base - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7# 已省略updates、extras等其他配置(完整内容见下文脚本)
    

步骤3:安装Docker依赖

Docker运行需要一些系统工具支持,通过yum安装即可:

# 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken

步骤4:配置Docker源并安装Docker CE

  1. 添加Docker官方源和阿里云Docker源(优先使用阿里云源提升速度):

    # 添加Docker官方源
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 添加阿里云Docker源(推荐)
    yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 将默认源替换为阿里云源
    sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
    
  2. 安装Docker CE:

    # 刷新yum缓存
    yum makecache fast# 安装Docker
    yum install docker-ce -y
    

步骤5:配置Docker镜像加速器

国内拉取Docker Hub镜像速度较慢,配置国内镜像加速器可解决此问题。常用的加速器包括阿里云、网易、华为云等。

  1. 创建配置文件/etc/docker/daemon.json

    mkdir -p /etc/docker
    cat > /etc/docker/daemon.json << EOF
    {"registry-mirrors": ["https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn"]
    }
    EOF
    

    (注:上述列表可根据实际访问速度调整,建议保留2-3个常用加速器)

步骤6:启动Docker并验证安装

# 重载系统服务配置
systemctl daemon-reload# 启动Docker并设置开机自启
systemctl start docker && systemctl enable docker# 验证Docker是否安装成功
docker run --rm hello-world

如果输出Hello from Docker!相关信息,说明Docker安装成功!

四、一键安装脚本

为了简化操作,我将上述步骤整合为一个一键脚本,直接复制执行即可:

#!/bin/bash
# Docker一键安装脚本(CentOS版)# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
echo "防火墙已关闭"# 禁用SELinux
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
echo "SELinux已禁用"# 备份并替换yum源
mkdir -p /media/yum.repos.d.backup
mv /etc/yum.repos.d/* /media/yum.repos.d.backup 2>/dev/null
cat > /etc/yum.repos.d/centos.repo << EOF
[base]
name=CentOS-\$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/\$releasever/os/\$basearch/http://mirrors.aliyuncs.com/centos/\$releasever/os/\$basearch/http://mirrors.cloud.aliyuncs.com/centos/\$releasever/os/\$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[updates]
name=CentOS-\$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/\$releasever/updates/\$basearch/http://mirrors.aliyuncs.com/centos/\$releasever/updates/\$basearch/http://mirrors.cloud.aliyuncs.com/centos/\$releasever/updates/\$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[extras]
name=CentOS-\$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/\$releasever/extras/\$basearch/http://mirrors.aliyuncs.com/centos/\$releasever/extras/\$basearch/http://mirrors.cloud.aliyuncs.com/centos/\$releasever/extras/\$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
EOF
echo "yum源已替换为阿里云"# 安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken
echo "依赖包安装完成"# 配置Docker源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
echo "Docker源配置完成"# 安装Docker
yum install docker-ce -y
echo "Docker安装完成"# 配置镜像加速器
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{"registry-mirrors": ["https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://mirror.aliyuncs.com"]
}
EOF
echo "镜像加速器配置完成"# 启动Docker
systemctl daemon-reload
systemctl start docker && systemctl enable docker
echo "Docker已启动并设置开机自启"# 验证安装
docker run --rm hello-world
echo "Docker安装验证完成,如需使用请直接执行docker命令"

五、使用说明

  1. 将脚本保存为install_docker.sh
  2. 赋予执行权限:chmod +x install_docker.sh
  3. 执行脚本:./install_docker.sh
  4. 脚本执行过程中会自动输出每一步的操作结果,耐心等待即可。

六、注意事项

  1. 脚本仅适用于CentOS系统,Ubuntu/Debian系统需修改对应命令;
  2. 生产环境中建议不要完全关闭防火墙,而是配置Docker所需的端口规则;
  3. 镜像加速器列表可根据实际网络情况增删,优先选择延迟低的节点;
  4. 若安装失败,可检查网络连接或重新执行脚本(脚本支持重复执行)。

通过以上步骤,我们可以快速在CentOS系统中部署Docker并优化配置,后续即可通过docker pulldocker run等命令管理容器。如果有任何问题,欢迎在评论区留言交流!

#Docker #CentOS #Linux #容器 #运维教程

http://www.lryc.cn/news/584071.html

相关文章:

  • C++11 划分算法原理解析:is_partitioned、partition_copy与partition_point
  • TDengine 数据库建模最佳实践
  • Spring--04--1--AOP自定义注解,记录用户操作日志
  • 【MSSQL】如何清理SQL SERVER内存解决内存占用高的问题
  • 【免费数据】2020年中国高精度耕地范围矢量数据
  • Docker:安装命令笔记
  • 智慧城市网络架构升级与SD-WAN技术应用实践
  • 上海交大医学院张维拓老师赴同济医院做R语言训练营培训
  • QT Android 如何打包大文件到目录下?
  • 【牛客刷题】活动安排
  • 华为鸿蒙HarmonyOpenEye项目:开眼App的鸿蒙实现之旅
  • OpenGL 4. 变换
  • 【STM32 学习笔记】SPI通信协议
  • 《PyQt6-3D应用开发技术文档》
  • 【Note】Linux Kernel 之 内核架构、源码文件、API/ABI 、FHS
  • JVM 基础 - JVM 内存结构
  • 龙迅#LT7911E适用于TPYE-C/DP/EDP转MIPIDSI/LVDS应用功能,支持DSC 分辨率缩放,分辨率高达4K60HZ!
  • 基于联邦学习的医疗数据隐私保护模型设计与实现
  • 【深度学习新浪潮】什么是持续预训练?
  • 网安系列【16】之Weblogic和jboss漏洞
  • Linux驱动06 --- UDP
  • 货车车架和悬架设计cad【7张】+设计说明书
  • 前端面试专栏-算法篇:21. 链表、栈、队列的实现与应用
  • 分布式ID 与自增区别
  • 【spring boot】三种日志系统对比:ELK、Loki+Grafana、Docker API
  • 膨胀卷积介绍
  • XGBoosting算法详解(Boosting思想的代表算法)
  • 字节 Seed 团队联合清华大学智能产业研究院开源 MemAgent: 基于多轮对话强化学习记忆代理的长文本大语言模型重构
  • 深度学习中的常见损失函数详解及PyTorch实现
  • PyTorch Tensor 操作入门:转换、运算、维度变换