本文提供一份适配 OpenEuler 系统的 Docker 一键安装脚本,集成了系统环境优化(关闭防火墙 / SELinux/swap)、内核参数配置、阿里云源配置等功能,可快速安装最新稳定版 Docker。
脚本功能
权限校验:强制 root 用户执行,避免权限不足问题
系统优化:关闭防火墙、SELinux、swap 分区(临时 + 永久)
内核配置:加载Docker 所需内核模块,配置网络相关内核参数
源配置:适配OpenEuler 的 Docker阿里云镜像源
一键安装:自动安装最新稳定版 Docker 及相关组件
服务配置:启动 Docker 并设置开机自启,验证安装结果
完整脚本
#!/bin/bash
# 适配 OpenEuler 系统的 Docker 一键安装脚本(安装最新稳定版)
# 功能:关闭防火墙/SELinux/swap + 配置内核参数 + 安装最新版 Docker
# 定义颜色输出(提升可读性)
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 检查是否为 root 用户
if [ $EUID -ne 0 ]; then
echo -e "${RED}错误:必须以 root 用户执行此脚本!${NC}"
exit 1
fi
echo -e "${YELLOW}===== 开始配置 OpenEuler 系统环境 =====${NC}"
# 1. 更新系统软件包
echo -e "${YELLOW}1. 更新系统软件包...${NC}"
dnf update -y
if [ $? -ne 0 ]; then
echo -e "${RED}系统更新失败,请检查网络或源配置!${NC}"
exit 1
fi
# 2. 关闭并禁用防火墙
echo -e "${YELLOW}2. 关闭并禁用 firewalld...${NC}"
systemctl stop firewalld && systemctl disable firewalld
echo -e "${GREEN}防火墙已关闭并禁用${NC}"
# 3. 关闭 SELINUX(临时+永久)
echo -e "${YELLOW}3. 关闭 SELINUX...${NC}"
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
echo -e "${GREEN}SELINUX 已临时关闭,重启后永久生效${NC}"
# 4. 关闭 swap(临时+永久)
echo -e "${YELLOW}4. 关闭 swap 分区...${NC}"
swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab
echo -e "${GREEN}swap 已关闭,重启后永久生效${NC}"
# 5. 加载 Docker 所需内核模块
echo -e "${YELLOW}5. 加载内核模块...${NC}"
modprobe overlay
modprobe br_netfilter
echo -e "${GREEN}内核模块 overlay/br_netfilter 加载完成${NC}"
# 6. 配置内核参数
echo -e "${YELLOW}6. 配置内核参数...${NC}"
cat > /etc/sysctl.d/docker.conf << EOF
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system
echo -e "${GREEN}内核参数配置完成并生效${NC}"
# 7. 配置 Docker 阿里云源(适配 OpenEuler)
echo -e "${YELLOW}7. 配置 Docker 阿里云源...${NC}"
sudo tee /etc/yum.repos.d/docker-ce.repo <<-'EOF'
[docker-ce-stable]
name=Docker CE Stable - x86_64
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-stable-aarch64]
name=Docker CE Stable - aarch64
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/aarch64/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
EOF
echo -e "${GREEN}Docker 源配置完成${NC}"
# 8. 列出可安装的 Docker 版本(可选,便于核对最新版本)
echo -e "${YELLOW}8. 列出可安装的 Docker 版本...${NC}"
dnf list docker-ce --showduplicates | sort -r
# 9. 安装最新版 Docker(核心修改:去掉版本号)
echo -e "${YELLOW}9. 安装最新稳定版 Docker...${NC}"
dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
if [ $? -ne 0 ]; then
echo -e "${RED}Docker 安装失败,请检查源或依赖!${NC}"
exit 1
fi
# 10. 验证 Docker 版本
echo -e "${YELLOW}10. 验证 Docker 版本...${NC}"
docker -v
if [ $? -eq 0 ]; then
echo -e "${GREEN}Docker 版本验证成功${NC}"
else
echo -e "${RED}Docker 版本验证失败${NC}"
exit 1
fi
# 11. 启动并设置开机自启
echo -e "${YELLOW}11. 启动 Docker 服务...${NC}"
systemctl start docker
systemctl enable docker
echo -e "${GREEN}Docker 已启动并设置开机自启${NC}"
# 12. 检查 Docker 服务状态
echo -e "${YELLOW}12. 检查 Docker 服务状态...${NC}"
systemctl status docker --no-pager
# 安装完成提示
echo -e "\n${GREEN}===== 最新稳定版 Docker 在 OpenEuler 上安装完成!=====${NC}"
echo -e "${YELLOW}可选优化:配置 Docker 国内镜像加速${NC}"
echo -e "参考命令:"
echo -e "sudo mkdir -p /etc/docker"
echo -e "sudo tee /etc/docker/daemon.json <<-'EOF'"
echo -e "{\"registry-mirrors\": [\"https://docker.mirrors.ustc.edu.cn\"]}"
echo -e "EOF"
echo -e "sudo systemctl restart docker"使用方法
1. 保存脚本
将上述脚本保存为 install_docker_openeuler.sh:
vim install_docker_openeuler.sh2. 添加执行权限
chmod +x install_docker_openeuler.sh3. 执行脚本
./install_docker_openeuler.sh可选优化:配置 Docker 镜像加速
安装完成后,可配置国内镜像源提升镜像拉取速度:
# 创建配置目录
sudo mkdir -p /etc/docker
# 写入镜像加速配置(以中科大镜像为例)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF
# 重启 Docker 生效
sudo systemctl restart docker注意事项
脚本仅适配 OpenEuler 系统,其他系统(如 CentOS、Ubuntu)需调整包管理器(dnf/yum/apt)相关命令
执行脚本需 root 权限,非 root 用户需先执行
sudo -i切换到 root关闭防火墙 / SELinux 可能带来安全风险,生产环境需根据实际需求调整
关闭 swap 分区会释放内存资源,提升 Docker 性能,但需确保物理内存充足
总结
该脚本专为 OpenEuler 系统设计,集成了环境配置和 Docker 安装全流程,一键即可完成部署;
脚本包含完善的错误校验和颜色提示,便于排查安装过程中的问题;
安装完成后建议配置 Docker 镜像加速,提升日常使用体验。
评论区