Docker 安装(Debian)
本章将详细介绍如何在 Debian 系统上安装和配置 Docker Engine。
系统要求
Docker Engine 支持以下 Debian 版本(64 位):
- Debian 12 (Bookworm)
- Debian 11 (Bullseye)
硬件要求:
- 64 位处理器
- 内核版本 3.10 或更高
- 至少 2GB RAM(推荐 4GB 以上)
卸载旧版本
bash
sudo apt-get remove docker docker-engine docker.io containerd runc使用 APT 仓库安装(推荐)
1. 更新包索引并安装依赖
bash
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg2. 添加 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.gpg3. 添加 Docker APT 仓库
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/null4. 安装 Docker Engine
bash
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin5. 验证安装
bash
sudo docker run hello-world安装后配置
非 root 用户运行 Docker
bash
sudo usermod -aG docker $USER
newgrp docker开机自启
bash
sudo systemctl enable docker.service
sudo systemctl enable containerd.service配置 Daemon
bash
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2"
}
EOF
sudo systemctl restart docker常见问题
iptables 兼容性
Debian 默认使用 nftables,Docker 需要 iptables:
bash
# 切换到 iptables-legacy
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
# 重启 Docker
sudo systemctl restart docker内核版本过低
bash
# 检查内核版本
uname -r
# 如果低于 3.10,需要升级内核
sudo apt-get update && sudo apt-get upgrade卸载 Docker
bash
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd