当前位置: 首页 > news >正文

Debian 12安装docker的正确方法

正确的 Debian 12 安装方法:

## 1. 正确的 Debian 12 Docker 安装步骤

### 步骤1:清理错误的 Ubuntu 源
```bash
sudo rm -f /etc/apt/sources.list.d/docker.list
sudo apt update
```

### 步骤2:安装依赖
```bash
sudo apt update
sudo apt install -y \
ca-certificates \
curl \
gnupg \
lsb-release
```

### 步骤3:添加 Docker 官方 GPG 密钥(Debian 版本)
```bash
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
```

### 步骤4:添加正确的 Debian Docker 源
```bash
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
```

### 步骤5:更新并安装
```bash
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```

## 2. 一键安装脚本(Debian 12 专用)

创建 `install_docker_debian.sh`:

```bash
#!/bin/bash
echo "=== Debian 12 Docker 一键安装脚本 ==="

# 显示系统信息
echo "1. 系统信息:"
lsb_release -a
echo "架构: $(dpkg --print-architecture)"

# 清理可能存在的错误配置
echo "2. 清理旧配置..."
sudo rm -f /etc/apt/sources.list.d/docker.list 2>/dev/null

# 卸载旧版本
echo "3. 卸载旧版本 Docker..."
sudo apt-get remove -y docker docker-engine docker.io containerd runc 2>/dev/null

# 安装依赖
echo "4. 安装依赖包..."
sudo apt update
sudo apt install -y \
ca-certificates \
curl \
gnupg \
lsb-release

# 创建密钥目录
sudo mkdir -p /etc/apt/keyrings

# 添加 Docker GPG 密钥 (Debian)
echo "5. 添加 Docker GPG 密钥 (Debian)..."
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 添加正确的 Docker 软件源 (Debian)
echo "6. 添加 Docker 软件源 (Debian)..."
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 设置正确的权限
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 更新软件包索引
echo "7. 更新软件包索引..."
sudo apt update

# 安装 Docker
echo "8. 安装 Docker..."
sudo apt install -y \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin

# 启动 Docker 服务
echo "9. 启动 Docker 服务..."
sudo systemctl enable docker
sudo systemctl start docker

# 验证安装
echo "10. 验证安装..."
sudo docker --version
sudo docker compose version

# 测试运行
echo "11. 测试 Docker..."
sudo docker run --rm hello-world

echo "=== Docker 安装完成 ==="
```

运行:
```bash
chmod +x install_docker_debian.sh
./install_docker_debian.sh
```

## 3. 替代方案:使用 Debian 自带的 Docker

如果官方源还有问题,使用 Debian 12 自带的版本:

```bash
# 安装 Debian 自带的 Docker
sudo apt update
sudo apt install -y docker.io docker-compose

# 启动服务
sudo systemctl enable docker
sudo systemctl start docker

# 验证
docker --version
docker-compose --version
```

## 4. 如果上述方法都失败,使用这个终极方案

```bash
#!/bin/bash
# 终极 Docker 安装方案

echo "=== 终极 Docker 安装方案 ==="

# 方法1:尝试官方 Docker CE
install_docker_ce() {
echo "尝试方法1: Docker CE 官方源..."
sudo apt remove -y docker docker-engine docker.io containerd runc 2>/dev/null
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

# 添加 Docker 源
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
if sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin; then
echo "✅ Docker CE 安装成功"
return 0
fi
echo "❌ Docker CE 安装失败"
return 1
}

# 方法2:使用 Debian 自带版本
install_docker_io() {
echo "尝试方法2: Debian 自带 Docker..."
if sudo apt install -y docker.io docker-compose; then
echo "✅ Docker.io 安装成功"
return 0
fi
echo "❌ Docker.io 安装失败"
return 1
}

# 方法3:使用脚本安装
install_docker_script() {
echo "尝试方法3: 官方安装脚本..."
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
if docker --version &>/dev/null; then
echo "✅ 脚本安装成功"
return 0
fi
echo "❌ 脚本安装失败"
return 1
}

# 执行安装
if install_docker_ce; then
echo "使用 Docker CE 版本"
elif install_docker_io; then
echo "使用 Docker.io 版本"
elif install_docker_script; then
echo "使用脚本安装版本"
else
echo "❌ 所有安装方法都失败了"
exit 1
fi

# 启动服务
sudo systemctl enable docker
sudo systemctl start docker

# 添加用户到 docker 组
sudo usermod -aG docker $USER
echo "请重新登录或执行 'newgrp docker' 来应用用户组更改"

# 验证
echo "安装验证:"
docker --version
docker compose version
```

运行终极方案:
```bash
chmod +x docker_ultimate.sh
./docker_ultimate.sh
```

## 5. 安装后的配置

```bash
# 添加用户到 docker 组(避免 sudo)
sudo usermod -aG docker $USER
# 重新登录或执行:
newgrp docker

# 配置镜像加速(国内用户)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://registry.docker-cn.com"
]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

# 测试
docker run --rm hello-world
```

## 6. 验证安装成功

```bash
# 检查版本
docker --version
docker compose version

# 检查服务状态
systemctl status docker

# 运行测试容器
docker run --rm hello-world

# 检查信息
docker info
```

**关键点**:你的系统是 Debian 12 (bookworm),不是 Ubuntu,所以必须使用 Debian 的 Docker 源。推荐先运行一键安装脚本,应该就能解决问题!

http://www.hskmm.com/?act=detail&tid=31677

相关文章:

  • 【流量网关】k8s与apisix统一的流量入口方案(内网版)
  • 基于STM32F4系列MCU和CS5530 24位SDADC的称重传感器系统实现
  • 2025 年环保板材厂家最新推荐榜:硬包板 / 竹木纤维板等全品类 企业深度解析
  • kong 网关下集成 Consul服务注册与发现
  • cad圆滑连接两段线:blend
  • 在 gitea 服务器端查询 lfs 文件占用情况
  • HDR图像生成算法详解
  • Introduction: Why Optimization?
  • 基于MATLAB的二自由度机械臂PID控制仿真
  • Spring AOP原理
  • Ventoy引导Kali live USB持久化
  • 知识库管理工具深度测评:ONES、Confluence 等10款工具全面对比
  • 好的测试数据管理,到底要怎么做?
  • 【面试题】人工智能工程师高频面试题汇总:循环神经网络篇(题目+答案)
  • 做了个手机上的“视频播放器”,获益匪浅
  • CEF关闭流程
  • AI一周资讯 251005-251015
  • 2025 年中空百叶源头厂家最新推荐排行榜:聚焦国内优质供货商,助力客户精准选购可靠产品光能/光伏/电动/光动中空百叶厂家推荐
  • 2025年学校家具定制厂家最新权威推荐榜:全屋定制/衣柜/厨柜/酒柜/鞋柜/猫柜/酒店办公家具/电视柜/书包柜/图书架/宿舍上下床
  • iOS框架内存中占用很高的ttc文件是否正常
  • Linux配置SSH名称通信
  • MPC模型预测控制:原理、设计与MATLAB实现
  • 2025年焊接变位机厂家最新权威推荐榜:双轴变位机专业制造商,高效稳定助力智能焊接升级
  • 体育视频分析中的计算机视觉技术创新
  • 2025年法兰罩厂家最新权威推荐榜:专业防护与精密制造,工业管道安全守护者优选品牌
  • 2025 年膜结构厂家最新推荐排行榜:含车棚 / 看台 / 景观等产品实力企业盘点与选择指南
  • 题解:qoj7303 City United
  • 多网融合实战指南:4G、Wi-Fi与以太网的智能协同之道
  • 最佳实践:基于Apache SeaTunnel从MySQL同步到PostgreSQL
  • 2025年冲压件厂家最新权威推荐榜:新能源/光伏/精密/异形/五金/铝/汽配/不锈钢/家具冲压件源头实力解析