Debian 11安装Docker/Docker Compose过程及一键安装脚本

Debian 11 上 Docker & Docker Compose 安装教程,并附带一个一键安装脚本。


1.安装 Docker CE (Community Edition)

  1. 更新系统包索引
1
sudo apt update && sudo apt upgrade -y
  1. 安装依赖包
1
sudo apt install -y ca-certificates curl gnupg lsb-release
  1. 添加 Docker 官方 GPG Key
1
2
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  1. 添加 Docker 源
1
2
3
4
5
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 安装 Docker 引擎
1
2
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. 验证 Docker
1
2
docker --version
# 预期输出: Docker version XX.XX.X, build XXXXX

2.安装 Docker Compose

Debian 11 的 docker-compose 建议直接用 Docker 官方 Compose v2 插件(已包含在上面 docker-compose-plugin)。
使用方式:

1
docker compose version

注意:命令是 docker compose (空格),不是旧版的 docker-compose (连字符)。

如果要安装旧版(v1,已不再维护,但部分人还用):

1
2
3
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

3.常用配置(可选)

  1. 让当前用户不用 sudo 运行 docker
1
2
sudo usermod -aG docker $USER
newgrp docker
  1. 开机启动 Docker
1
2
sudo systemctl enable docker
sudo systemctl start docker

4.一键安装脚本

保存为 install-docker.sh

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
#!/bin/bash
set -e

echo "[INFO] 更新系统..."
sudo apt update -y && sudo apt upgrade -y

echo "[INFO] 安装依赖..."
sudo apt install -y ca-certificates curl gnupg lsb-release

echo "[INFO] 添加 Docker GPG key..."
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo "[INFO] 添加 Docker 源..."
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

echo "[INFO] 安装 Docker & Compose..."
sudo apt update -y
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

echo "[INFO] 将当前用户加入 docker 组..."
sudo usermod -aG docker $USER

echo "[INFO] 启动并设置开机自启..."
sudo systemctl enable docker
sudo systemctl start docker

echo "[INFO] 安装完成!请重新登录以生效 docker 用户组。"
docker --version
docker compose version

使用方法:

1
2
chmod +x install-docker.sh
./install-docker.sh

5.使用国内源安装 Docker CE

国内环境,要加速安装 Docker 和 Docker Compose,最好换 国内镜像源(清华/阿里/USTC/中科大等)

5.1. 替换 Docker APT 源(推荐阿里或清华)

阿里云:

1
2
3
echo "deb [arch=$(dpkg --print-architecture)] https://mirrors.aliyun.com/docker-ce/linux/debian \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list

清华大学:

1
2
3
echo "deb [arch=$(dpkg --print-architecture)] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list

5.2. 安装 Docker

1
2
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

5.3. 验证

1
2
docker --version
docker compose version

5.4.Docker Hub 镜像加速

国内访问 docker.io 比较慢,可以配置镜像加速器。
编辑 /etc/docker/daemon.json

1
2
3
4
5
6
7
8
9
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://registry.docker-cn.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}

然后重启 Docker:

1
2
sudo systemctl daemon-reexec
sudo systemctl restart docker

5.5一键安装脚本(国内源优化版)

保存为 install-docker-cn.sh

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
#!/bin/bash
set -e

echo "[INFO] 更新系统..."
sudo apt update -y && sudo apt upgrade -y

echo "[INFO] 安装依赖..."
sudo apt install -y ca-certificates curl gnupg lsb-release

echo "[INFO] 添加国内 Docker 源 (阿里云)..."
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

echo "[INFO] 安装 Docker & Compose..."
sudo apt update -y
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

echo "[INFO] 配置 Docker 国内镜像加速..."
sudo mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://registry.docker-cn.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
EOF

echo "[INFO] 加入 docker 组..."
sudo usermod -aG docker $USER

echo "[INFO] 启动并设置开机自启..."
sudo systemctl enable docker
sudo systemctl daemon-reexec
sudo systemctl restart docker

echo "[INFO] 安装完成!请重新登录以生效 docker 用户组。"
docker --version
docker compose version

执行:

1
2
chmod +x install-docker-cn.sh
./install-docker-cn.sh