debian 系统安装 docker 环境

在全新的Debian系统上安装Docker环境,推荐使用Docker官方仓库来获取最新的稳定版本。以下是完整的安装步骤。

⚙️ 安装前的准备

确保你的系统满足以下条件,可以让安装过程更顺利:

  • 操作系统:Debian的64位版本,如 Bookworm 12(稳定版)、Bullseye 11(旧稳定版)或更新的 Trixie 13(测试版)。

  • 权限:拥有 sudo 权限的用户。

  • 网络:服务器需能正常访问互联网。

在安装前,最好检查并清理可能产生冲突的旧版本软件包,运行以下命令即可:

bash

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

apt-get 可能会提示部分软件包未安装,这属于正常情况。

📥 安装Docker

你可以选择使用官方仓库进行标准安装,或使用便捷脚本快速安装。

🐳 方法一:使用官方仓库安装(推荐)

这是最可靠的方法,可以保证你获得最新的Docker版本。

  1. 更新系统并安装依赖
    首先,更新软件包列表并安装必要的工具,以便 apt 能通过HTTPS使用仓库。

    bash

    sudo apt update
    sudo apt install -y ca-certificates curl gnupg lsb-release
  2. 添加Docker的官方GPG密钥
    下载并添加Docker的官方GPG密钥,以验证软件包的完整性。

    bash

    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc
  3. 设置Docker的APT仓库
    接下来,将Docker的软件源添加到系统中。

    bash

    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
      https://download.docker.com/linux/debian \
      $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  4. 安装Docker Engine
    再次更新软件包索引(此时会读取新添加的Docker仓库),然后安装Docker Engine、CLI和容器运行时。

    bash

    sudo apt update
    sudo apt install -y docker-ce docker-ce-cli containerd.io
  5. 启动并验证安装
    安装完成后,启动Docker服务并设置为开机自启,最后运行一个测试镜像来验证是否成功。

    bash

    sudo systemctl enable docker && sudo systemctl start docker
    sudo docker run hello-world

    如果看到 "Hello from Docker!" 的欢迎信息,就说明你的Docker环境已经成功运行了。

📜 方法二:使用便捷脚本安装(适合测试/开发环境)

Docker官方提供了一个便捷脚本,适合快速搭建测试或开发环境。运行以下命令即可:

bash

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun # 推荐使用国内镜像,加速下载

该脚本会自动处理系统检测、仓库配置及安装全过程。

🛠️ 安装后的配置建议

为了让Docker使用起来更方便、更顺畅,建议进行以下配置:

  • 免sudo运行Docker命令
    默认情况下,执行 docker 命令需要 sudo 权限。可以将当前用户添加到 docker 用户组来免去这个麻烦。

    bash

    sudo usermod -aG docker $USER

    之后需要注销并重新登录(或重启系统)使配置生效。

  • 配置镜像加速器
    在国内环境下,为Docker配置一个镜像加速器可以极大地提升拉取官方镜像的速度。

    1. 创建或修改 /etc/docker/daemon.json 文件,添加加速器地址(例如使用阿里云)。

    2. 重启Docker服务让配置生效。

    bash

    sudo systemctl daemon-reload
    sudo systemctl restart docker

➕ 安装Docker Compose(可选)

如果你的项目需要管理多个容器(例如一个Web应用同时依赖数据库和缓存服务),Docker Compose会是得力助手,它能让你用一个YAML文件来定义和运行多容器应用。

你可以通过以下命令下载最新版本的Docker Compose:

bash

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

下载完成后,可以通过 docker-compose --version 命令来验证是否安装成功。

💡 常见问题

  • 安装失败或提示密钥错误怎么办?
    这通常与网络连接有关。可以先确认服务器能否正常 pingdownload.docker.com。另外,在某些旧版Debian(如Debian 11 bullseye)上,可能存在GPG密钥存储路径的兼容性问题。如果遇到报错,可以尝试将密钥存放的路径改为 /etc/apt/trusted.gpg.d

  • docker 命令需要 sudo,即使已加入 docker 组?

    • 请确认已将用户添加到 docker 组:sudo usermod -aG docker $USER

    • 必须注销并重新登录,或者重启系统,组权限的更改才会生效。

    • 如果在一个新的终端会话中仍不生效,可以尝试 newgrp docker 命令手动激活组变更。

评论