Debain12安装Docker

系统环境如下:

  • CPU:Intel® Core™ Ultra 7 255H
  • 内存:16GB
  • 硬盘:100G固态硬盘
  • 操作系统:Debian12(Bookworm)
  • 准备安装的Docker版本:28.4.0

0 前置条件

0.1 当前用户属于sudoer

可使用sudo命令测试,如果执行报错,则参考下面步骤将当前用户添加到sudo用户组中:

  1. 使用su命令切换到root用户
  2. 使用/usr/sbin/usermod -aG sudo xxx命令将当前用户添加到sudo用户组中,其中xxx表示当前用户名
  3. 注销root和xxx用户并重新登录 或 执行newgrp sudo命令来激活对用户组的更改

0.2 apt的镜像源列表已配置好

可使用sudo apt install vim测试,如果执行报错,则可参考下面步骤配置apt镜像源[1]

  1. 使用sudo nano /etc/apt/sources.list命令编辑文件,将该文件中的原内容注释,添加如下内容后保存:
1
2
3
4
5
6
7
8
9
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
  1. 执行下列命令
1
2
3
4
5
# 更新软件
sudo apt update && apt upgrade -y

# 测试:安装vim
sudo apt install vim -y

1 添加Docker的apt仓库

  1. 添加Docker官方GPG密钥[2][3]
1
2
3
4
5
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
  1. 将仓库添加到apt源列表
1
2
3
4
5
6
7
echo \
"deb [
arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update

2 安装Docker包

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

安装后可执行sudo systemctl status docker查看docker运行状态

3 允许非特权(普通)用户操作docker

默认情况下,执行docker命令需要特权,即要么使用root用户,要么在docker前加上sudo
如果你想让非特权用户,即普通用户直接使用docker而不加sudo前缀,请使用非root的特权用户参考下面的方式配置[4]

  1. 使用tail /etc/group命令查看当前系统是否包含docker用户组,如果有,则通常在该文件的最下面,类似于:
1
2
3
4
5
6
7
8
9
10
11
guozhuang@vm:~$ tail /etc/group
scanner:x:116:saned,guozhuang
saned:x:117:
geoclue:x:118:
polkitd:x:996:
rtkit:x:119:
colord:x:120:
Debian-gdm:x:121:
guozhuang:x:1000:
gnome-initial-setup:x:995:
docker:x:994:

如果没有docker组则自己手动添加一个就行,可使用命令sudo groupadd docker添加

  1. 使用命令sudo usermod -aG docker $USER把当前用户添加到docker用户组中
  2. 注销当前用户并重新登录 或 执行newgrp docker命令来激活对用户组的更改
  3. 执行不带sudo前缀的docker verison命令测试配置是否生效

4 配置docker镜像仓库

默认的镜像仓库地址为https://registry-1.docker.io/v2/,国内一般无法访问,所以通常都是把该地址改成国内的镜像。

但目前(2025年9月)可用的大厂(阿里巴巴、网易等)和院校(清华、中科大等)镜像几乎已全部不可用,所以下面的内容仅记录操作步骤,而不保证可用。

  • 配置docker镜像仓库地址
    阿里云的容器镜像服务,申请加速器地址
  1. 新建或编辑/etc/docker/daemon.json文件,可使用命令sudo vim /etc/docker/daemon.json,添加或修改如下内容后保存:
1
2
3
4
5
{
"registry-mirrors": [
"https://xxxx.xxx.xxx"
]
}

其中"https://xxxx.xxx.xxx"需要替换成实际的镜像仓库地址,可自行在网上搜索(关键词:docker hub 国内镜像)

  1. 执行以下命令使修改生效
1
2
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. 执行docker run hello-world命令测试仓库地址是否可用

hello-world是docker官方的测试镜像,生成容器并运行后会打印一条确认消息并退出。[2:1]


  1. debian | 清华大学开源软件镜像站 ↩︎

  2. Debian | Docker文档 ↩︎ ↩︎

  3. docker-ce | 清华大学开源软件镜像站 ↩︎

  4. 安装后步骤 | Docker文档 ↩︎