Debain12安装Docker
系统环境如下:
- CPU:Intel® Core™ Ultra 7 255H
- 内存:16GB
- 硬盘:100G固态硬盘
- 操作系统:Debian12(Bookworm)
- 准备安装的Docker版本:28.4.0
0 前置条件
0.1 当前用户属于sudoer
可使用sudo命令测试,如果执行报错,则参考下面步骤将当前用户添加到sudo用户组中:
- 使用
su命令切换到root用户 - 使用
/usr/sbin/usermod -aG sudo xxx命令将当前用户添加到sudo用户组中,其中xxx表示当前用户名 - 注销root和xxx用户并重新登录 或 执行
newgrp sudo命令来激活对用户组的更改
0.2 apt的镜像源列表已配置好
可使用sudo apt install vim测试,如果执行报错,则可参考下面步骤配置apt镜像源[1]:
- 使用
sudo nano /etc/apt/sources.list命令编辑文件,将该文件中的原内容注释,添加如下内容后保存:
1 | 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 |
- 执行下列命令
1 | 更新软件 |
1 添加Docker的apt仓库
1 | sudo apt update |
- 将仓库添加到apt源列表
1 | echo \ |
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]:
- 使用
tail /etc/group命令查看当前系统是否包含docker用户组,如果有,则通常在该文件的最下面,类似于:
1 | guozhuang@vm:~$ tail /etc/group |
如果没有docker组则自己手动添加一个就行,可使用命令sudo groupadd docker添加
- 使用命令
sudo usermod -aG docker $USER把当前用户添加到docker用户组中 - 注销当前用户并重新登录 或 执行
newgrp docker命令来激活对用户组的更改 - 执行不带
sudo前缀的docker verison命令测试配置是否生效
4 配置docker镜像仓库
默认的镜像仓库地址为https://registry-1.docker.io/v2/,国内一般无法访问,所以通常都是把该地址改成国内的镜像。
但目前(2025年9月)可用的大厂(阿里巴巴、网易等)和院校(清华、中科大等)镜像几乎已全部不可用,所以下面的内容仅记录操作步骤,而不保证可用。
- 配置docker镜像仓库地址
阿里云的容器镜像服务,申请加速器地址
- 新建或编辑
/etc/docker/daemon.json文件,可使用命令sudo vim /etc/docker/daemon.json,添加或修改如下内容后保存:
1 | { |
其中"https://xxxx.xxx.xxx"需要替换成实际的镜像仓库地址,可自行在网上搜索(关键词:docker hub 国内镜像)
- 执行以下命令使修改生效
1 | sudo systemctl daemon-reload |
- 执行
docker run hello-world命令测试仓库地址是否可用
hello-world是docker官方的测试镜像,生成容器并运行后会打印一条确认消息并退出。[2:1]