对于刚接触容器技术的新手来说,在 Debian 系统上正确安装 Docker 是入门的关键第一步。本教程将以通俗易懂的语言,带领你完成从系统准备到 Docker 安装、验证及基础使用的全流程,即使没有丰富的 Linux 操作经验,也能轻松跟随操作。

一、安装前的准备工作

在正式安装 Docker 前,需要完成一些基础准备操作,确保系统环境满足安装要求,避免后续出现兼容性问题。

1. 确认 Debian 系统版本

Docker 对 Debian 系统版本有一定要求,建议使用Debian 10(Buster)及以上版本(包括 Debian 11 Bullseye、Debian 12 Bookworm)。

通过以下命令查看当前系统版本,确认是否符合要求:

lsb\_release -a

若输出结果中 “Release” 字段显示为 10、11 或 12,说明系统版本达标;若版本过低,建议先升级系统或更换更高版本的 Debian 镜像。

2. 更新系统软件包

为保证系统软件包处于最新状态,减少安装冲突,执行以下命令更新软件包索引并升级已安装的软件:

sudo apt update && sudo apt upgrade -y
  • apt update:从软件源服务器获取最新的软件包列表;
  • apt upgrade -y:自动升级所有可更新的软件包,-y参数表示默认确认所有提示,无需手动输入 “y” 确认。

3. 安装必要依赖包

Docker 安装过程中需要依赖一些工具包(如证书、软件源管理工具等),通过以下命令一次性安装:

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

各依赖包的作用:

  • apt-transport-https:允许 APT 通过 HTTPS 协议获取软件包;
  • ca-certificates:提供 SSL 证书,确保与软件源服务器的安全连接;
  • curl:用于从网络下载文件(后续将用它获取 Docker 官方 GPG 密钥);
  • software-properties-common:提供管理软件源的工具(如add-apt-repository)。

二、正式安装 Docker

Docker 官方为 Debian 提供了专用的软件源,通过官方源安装能确保获取最新、最稳定的版本,避免第三方源可能存在的安全风险。

1. 添加 Docker 官方 GPG 密钥

GPG 密钥用于验证 Docker 软件包的完整性和安全性,执行以下命令下载并添加官方密钥:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  • curl -fsSL:静默下载 Docker 官方 GPG 密钥(-f忽略错误,-s静默模式,-L自动跟随重定向);
  • gpg --dearmor:将下载的 ASCII 格式密钥转换为二进制格式,便于系统识别;
  • -o /usr/share/keyrings/docker-archive-keyring.gpg:将转换后的密钥保存到指定路径。

2. 添加 Docker 官方软件源

根据当前 Debian 系统的 “代号”(如 Debian 12 为 Bookworm),添加对应的官方软件源。首先通过以下命令获取系统代号:

CODENAME=\$(lsb\_release -c | awk '{print \$2}')

然后执行命令添加软件源:

echo "deb \[arch=\$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \$CODENAME stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • arch=$(dpkg --print-architecture):自动识别系统架构(如 amd64、arm64);
  • signed-by:指定用于验证软件包的 GPG 密钥路径;
  • stable:表示使用 Docker 的稳定版本仓库(新手推荐优先使用稳定版);
  • tee /etc/apt/sources.list.d/docker.list:将软件源信息写入专门的 Docker 源文件,避免与系统默认源混淆。

3. 安装 Docker Engine

添加完官方源后,先更新软件包索引,再安装 Docker 核心组件(Docker Engine、Docker CLI 等):

\# 更新软件包索引(让系统识别新添加的Docker源)

sudo apt update

\# 安装Docker Engine

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

各组件说明:

  • docker-ce:Docker 社区版引擎(核心运行组件);
  • docker-ce-cli:Docker 命令行工具(用于通过命令操作 Docker);
  • containerd.io:容器运行时(负责管理容器的生命周期);
  • docker-buildx-plugin:Docker 构建增强插件(支持多架构镜像构建);
  • docker-compose-plugin:Docker Compose 插件(用于管理多容器应用)。

安装过程中,系统会自动处理依赖关系,无需额外操作,等待终端显示 “Setting up...” 完成即可。

三、验证 Docker 安装是否成功

安装完成后,需要通过简单操作验证 Docker 是否正常运行,避免后续使用时出现问题。

1. 检查 Docker 服务状态

Docker 安装后会自动启动服务,通过以下命令查看服务运行状态:

sudo systemctl status docker

若输出结果中显示 “active (running)”(绿色字体),说明 Docker 服务已正常启动;若显示 “inactive”,可执行sudo systemctl start docker手动启动服务。

2. 运行测试容器

Docker 官方提供了一个轻量级的 “hello-world” 镜像,通过运行该镜像可验证 Docker 是否能正常拉取镜像并创建容器:

sudo docker run hello-world

如果运行成功,终端会输出类似以下的信息(关键信息已标注):

Hello from Docker!

This message shows that your installation appears to be working correctly.

...(后续为详细说明,无需关注)
  • 该命令的作用:Docker 会先检查本地是否有 “hello-world” 镜像,若没有则自动从官方仓库(Docker Hub)拉取,然后创建并运行一个容器,容器输出 “Hello from Docker!” 后自动停止。

四、新手必备:配置非 root 用户操作 Docker(可选但推荐)

默认情况下,只有root用户或属于docker组的用户才能操作 Docker。为了避免每次使用 Docker 都输入sudo,建议将当前用户添加到docker组:

1. 添加 docker 用户组(若不存在)

大部分情况下,安装 Docker 时会自动创建docker组,可通过以下命令确认:

getent group docker

若输出类似 “docker:x:998:”,说明组已存在;若无输出,执行以下命令创建:

sudo groupadd docker

2. 将当前用户添加到 docker 组

执行以下命令将当前登录用户(替换为你的用户名,若不知道用户名可执行whoami查看)添加到docker组:

sudo usermod -aG docker \$USER
  • -aG-a表示 “追加”,-G表示 “指定用户组”,即把用户追加到docker组中。

3. 生效用户组配置

用户组变更后,需要重新登录系统或执行以下命令让配置立即生效(无需重启电脑):

newgrp docker

生效后,可通过以下命令验证:

docker run hello-world

若无需sudo就能正常输出 “Hello from Docker!”,说明配置成功。

五、Docker 基础命令(新手入门)

安装完成后,掌握几个基础命令能帮助你快速上手:

命令作用示例
docker --version查看 Docker 版本docker --version
docker images查看本地所有镜像docker images
docker ps查看正在运行的容器docker ps(加-a查看所有容器,包括已停止的)
docker pull [镜像名]从 Docker Hub 拉取镜像docker pull ubuntu(拉取 Ubuntu 系统镜像)
docker run [选项] 镜像名创建并运行容器docker run -it ubuntu(以交互模式运行 Ubuntu 容器)
docker stop [容器ID/名称]停止运行中的容器docker stop 123abc(123abc 为容器 ID 前 6 位)

六、常见问题排查

  1. 安装时提示 “GPG 密钥验证失败”

    重新执行 “添加 Docker 官方 GPG 密钥” 的命令,确保网络通畅,若仍失败,可检查是否有防火墙阻止了curl访问外部网络。

  2. 运行docker run hello-world提示 “权限不足”

    确认当前用户已添加到docker组,且已重新登录或执行newgrp docker生效配置。

  3. Docker 服务无法启动

    执行sudo journalctl -u docker查看服务日志,根据日志中的错误信息排查(常见原因:系统内核版本过低、端口被占用)。

(注:文档部分内容由 AI 查询生成)