【超详细】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的网络通信,建议临时关闭(生产环境可根据需求配置规则):

bash 复制代码
# 停止并禁用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源:

    bash 复制代码
    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,内容如下:

    ini 复制代码
    [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安装即可:

bash 复制代码
# 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken

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

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

    bash 复制代码
    # 添加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:

    bash 复制代码
    # 刷新yum缓存
    yum makecache fast
    
    # 安装Docker
    yum install docker-ce -y

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

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

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

    bash 复制代码
    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并验证安装

bash 复制代码
# 重载系统服务配置
systemctl daemon-reload

# 启动Docker并设置开机自启
systemctl start docker && systemctl enable docker

# 验证Docker是否安装成功
docker run --rm hello-world

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

四、一键安装脚本

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

bash 复制代码
#!/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 #容器 #运维教程

相关推荐
janthinasnail40 分钟前
使用Docker搭建MaxKB智能体平台
docker·maxkb
会开花的二叉树1 小时前
彻底搞懂 Linux 基础 IO:从文件操作到缓冲区,打通底层逻辑
linux·服务器·c++·后端
计算机小手1 小时前
高效 P2P 文件传输工具:FileSync 利用 WebRTC 技术实现极速安全传输
经验分享·docker·webrtc·开源软件
呼啦啦5612 小时前
【Linux】权限
linux·权限
晨曦5432102 小时前
零基础12周精通Linux学习计划
linux
linux修理工2 小时前
n1 Armbian OS 24.11.0 noble 安装suricata
linux·运维·服务器
傅里叶2 小时前
sudo启动Flutter程序AMD初始化失败
linux·flutter
笨鸟贤妃3 小时前
Ubuntu 22.04 安装 Docker & Compose 最新最简单完整指南
ubuntu·docker·compose
bug攻城狮3 小时前
CentOS 7 出现 “Could not resolve host“ 错误的修复方案
linux·运维·centos
feifeigo1233 小时前
CentOS系统管理:useradd命令的全面解析
linux·运维·centos