【超详细】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源在国内访问速度较慢,替换为阿里云源可大幅提升软件包下载速度:
-
备份原有yum源:
mkdir -p /media/yum.repos.d.backup mv /etc/yum.repos.d/* /media/yum.repos.d.backup 2>/dev/null
-
创建阿里云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
-
添加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
-
安装Docker CE:
# 刷新yum缓存 yum makecache fast# 安装Docker yum install docker-ce -y
步骤5:配置Docker镜像加速器
国内拉取Docker Hub镜像速度较慢,配置国内镜像加速器可解决此问题。常用的加速器包括阿里云、网易、华为云等。
-
创建配置文件
/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命令"
五、使用说明
- 将脚本保存为
install_docker.sh
; - 赋予执行权限:
chmod +x install_docker.sh
; - 执行脚本:
./install_docker.sh
; - 脚本执行过程中会自动输出每一步的操作结果,耐心等待即可。
六、注意事项
- 脚本仅适用于CentOS系统,Ubuntu/Debian系统需修改对应命令;
- 生产环境中建议不要完全关闭防火墙,而是配置Docker所需的端口规则;
- 镜像加速器列表可根据实际网络情况增删,优先选择延迟低的节点;
- 若安装失败,可检查网络连接或重新执行脚本(脚本支持重复执行)。
通过以上步骤,我们可以快速在CentOS系统中部署Docker并优化配置,后续即可通过docker pull
、docker run
等命令管理容器。如果有任何问题,欢迎在评论区留言交流!
#Docker #CentOS #Linux #容器 #运维教程