68 lines
1.8 KiB
Bash
68 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
echo "🚀 开始在 AlmaLinux 9.4 上安装 Docker..."
|
|
|
|
# 颜色定义
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m'
|
|
|
|
# 检测系统
|
|
if [ ! -f /etc/almalinux-release ]; then
|
|
echo -e "${RED}错误: 这个脚本只支持 AlmaLinux${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${YELLOW}[1/7] 清理旧版本...${NC}"
|
|
sudo dnf remove -y docker* podman* containerd* || true
|
|
|
|
echo -e "${YELLOW}[2/7] 安装依赖...${NC}"
|
|
sudo dnf install -y dnf-plugins-core yum-utils device-mapper-persistent-data lvm2
|
|
|
|
echo -e "${YELLOW}[3/7] 添加 Docker 仓库...${NC}"
|
|
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
|
|
|
|
echo -e "${YELLOW}[4/7] 启用 CRB 仓库...${NC}"
|
|
sudo dnf config-manager --set-enabled crb
|
|
|
|
echo -e "${YELLOW}[5/7] 安装 Docker...${NC}"
|
|
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
|
|
|
echo -e "${YELLOW}[6/7] 配置 Docker...${NC}"
|
|
sudo systemctl start docker
|
|
sudo systemctl enable docker
|
|
|
|
echo -e "${YELLOW}[7/7] 配置用户权限...${NC}"
|
|
sudo usermod -aG docker $USER
|
|
|
|
# 配置镜像加速器(国内用户)
|
|
sudo mkdir -p /etc/docker
|
|
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
|
|
{
|
|
"registry-mirrors": [
|
|
"https://docker.m.daocloud.io",
|
|
"https://registry.docker-cn.com"
|
|
],
|
|
"exec-opts": ["native.cgroupdriver=systemd"],
|
|
"log-driver": "json-file",
|
|
"log-opts": {
|
|
"max-size": "100m"
|
|
}
|
|
}
|
|
EOF
|
|
|
|
sudo systemctl restart docker
|
|
|
|
echo -e "${GREEN}✅ Docker 安装成功!${NC}"
|
|
echo -e "${YELLOW}📋 版本信息:${NC}"
|
|
docker --version
|
|
docker-compose --version
|
|
|
|
echo -e "${YELLOW}🔧 请重新登录或运行以下命令:${NC}"
|
|
echo " newgrp docker"
|
|
echo -e "${YELLOW}🐳 测试命令:${NC}"
|
|
echo " docker run hello-world"
|