这里直接给出脚本内容,脚本内容中已经包含了添加阿里云镜像源的步骤,直接运行即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash

# 在线安装 Docker 脚本(使用阿里云镜像源)
# 适用于 Ubuntu 系统

# 检查脚本是否以 root 用户运行
if [[ $EUID -ne 0 ]]; then
echo "该脚本需要以 root 用户运行!"
exit 1
fi

echo "正在确认安装curl命令"
apt-get install curl -y

# 检查是否已安装 Docker
if command -v docker &>/dev/null; then
echo "检测到系统中已安装 Docker。"
read -p "是否需要卸载并重新安装 Docker? [y/N]: " reinstall_docker
if [[ $reinstall_docker =~ ^[Yy]$ ]]; then
echo "停止并卸载现有 Docker..."
systemctl stop docker
apt-get remove -y docker docker-engine docker.io containerd runc
rm -rf /var/lib/docker
echo "现有 Docker 已卸载。"
else
echo "用户选择保留现有 Docker,脚本退出。"
exit 0
fi
fi

# 添加阿里云 Docker 镜像源
echo "添加阿里云 Docker 镜像源..."
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


# 更新软件包列表
echo "更新软件包列表..."
apt-get update

# 安装 Docker
echo "安装 Docker..."
apt-get install -y docker-ce docker-ce-cli containerd.io

# 检查 Docker 是否安装成功
if command -v docker &>/dev/null; then
echo "Docker 安装成功!"
echo "启动 Docker 服务..."
systemctl start docker
systemctl enable docker
echo "Docker 服务已启动。"
else
echo "Docker 安装失败,请检查日志!"
exit 1
fi

# 添加当前用户到 docker 组(可选)
usermod -aG docker $USER
echo "已将用户 $USER 添加到 docker 组。"

echo "Docker 安装完成!"