Docker 安装:Debian 详细步骤
Docker 是一个开源平台,用于开发、发布和运行应用程序。通过容器化技术,Docker 可以将应用程序及其所有依赖项打包到一个独立的容器中,确保应用程序在不同环境中都能一致运行。本文将详细介绍如何在 Debian 系统上安装 Docker Engine。
为什么要安装 Docker?
- 环境一致性: 容器化应用程序可以消除“在我机器上能跑”的问题。
- 快速部署: 容器启动速度快,便于持续集成和持续部署(CI/CD)。
- 资源隔离: 容器之间相互隔离,互不影响,提高系统安全性。
- 高效利用资源: 容器比虚拟机更轻量级,能更高效地利用系统资源。
安装前准备
在开始安装之前,请确保您的 Debian 系统满足以下要求:
- 一个运行 Debian 10 (Buster) 或更高版本的 64 位系统。
- 拥有
sudo权限的用户。 - 稳定的互联网连接。
Docker 安装步骤
推荐使用 Docker 官方的 APT 仓库来安装 Docker Engine,这样可以确保您获取到最新版本并能及时收到更新。
步骤 1:卸载旧版本(如果存在)
为了避免与新安装的 Docker 产生冲突,建议先卸载系统上可能存在的 Docker 旧版本。
bash
for pkg in docker.io docker-engine docker-ce docker-ce-cli containerd runc; do sudo apt remove $pkg; done
步骤 2:更新包索引并安装必要组件
更新您的系统包列表,并安装允许 apt 通过 HTTPS 使用仓库的必要软件包。
bash
sudo apt update
sudo apt install ca-certificates curl gnupg
步骤 3:添加 Docker 官方 GPG 密钥
Docker 使用 GPG 密钥对软件包进行签名,以验证其真实性。您需要将此密钥添加到您的系统。
bash
sudo install -m 0755 -d /etc/apt/keyrings
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
步骤 4:设置 Docker APT 仓库
将 Docker 仓库添加到您的 APT 源列表中。请注意,$(. /etc/os-release && echo "$VERSION_CODENAME") 会自动检测您的 Debian 版本代号(例如 bookworm, bullseye)。
bash
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
步骤 5:安装 Docker Engine
现在可以安装 Docker Engine、CLI 客户端、containerd 和 Docker Buildx 插件。您还可以选择安装 Docker Compose 插件。
bash
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
步骤 6:将您的用户添加到 docker 用户组(推荐)
默认情况下,运行 Docker 命令需要 sudo 权限。为了以非 root 用户身份运行 Docker 命令,您需要将当前用户添加到 docker 用户组。
bash
sudo usermod -aG docker $USER
重要提示: 此更改需要您注销并重新登录(或重启您的终端会话)才能生效。
步骤 7:验证安装
通过运行 hello-world 容器来验证 Docker Engine 是否已正确安装。
bash
docker run hello-world
如果安装成功,此命令会下载一个测试镜像并在容器中运行它,输出一条消息确认 Docker 正在工作。
恭喜!
您已成功在 Debian 系统上安装了 Docker。现在您可以开始构建和运行您的第一个容器化应用程序了。如果您想了解更多 Docker 的使用方法,可以查阅 Docker 官方文档。