映臻 發表於 2025-10-15 17:00:00

Debian 12安装docker的正确方法

<p>正确的 Debian 12 安装方法:</p>
<p>## 1. 正确的 Debian 12 Docker 安装步骤</p>
<p>### 步骤1:清理错误的 Ubuntu 源<br>```bash<br>sudo rm -f /etc/apt/sources.list.d/docker.list<br>sudo apt update<br>```</p>
<p>### 步骤2:安装依赖<br>```bash<br>sudo apt update<br>sudo apt install -y \<br>    ca-certificates \<br>    curl \<br>    gnupg \<br>    lsb-release<br>```</p>
<p>### 步骤3:添加 Docker 官方 GPG 密钥(Debian 版本)<br>```bash<br>sudo mkdir -p /etc/apt/keyrings<br>curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg<br>```</p>
<p>### 步骤4:添加正确的 Debian Docker 源<br>```bash<br>echo \<br>"deb https://download.docker.com/linux/debian \<br>$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list &gt; /dev/null<br>```</p>
<p>### 步骤5:更新并安装<br>```bash<br>sudo apt update<br>sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin<br>```</p>
<p>## 2. 一键安装脚本(Debian 12 专用)</p>
<p>创建 `install_docker_debian.sh`:</p>
<p>```bash<br>#!/bin/bash<br>echo "=== Debian 12 Docker 一键安装脚本 ==="</p>
<p># 显示系统信息<br>echo "1. 系统信息:"<br>lsb_release -a<br>echo "架构: $(dpkg --print-architecture)"</p>
<p># 清理可能存在的错误配置<br>echo "2. 清理旧配置..."<br>sudo rm -f /etc/apt/sources.list.d/docker.list 2&gt;/dev/null</p>
<p># 卸载旧版本<br>echo "3. 卸载旧版本 Docker..."<br>sudo apt-get remove -y docker docker-engine docker.io containerd runc 2&gt;/dev/null</p>
<p># 安装依赖<br>echo "4. 安装依赖包..."<br>sudo apt update<br>sudo apt install -y \<br>    ca-certificates \<br>    curl \<br>    gnupg \<br>    lsb-release</p>
<p># 创建密钥目录<br>sudo mkdir -p /etc/apt/keyrings</p>
<p># 添加 Docker GPG 密钥 (Debian)<br>echo "5. 添加 Docker GPG 密钥 (Debian)..."<br>curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg</p>
<p># 添加正确的 Docker 软件源 (Debian)<br>echo "6. 添加 Docker 软件源 (Debian)..."<br>echo \<br>"deb https://download.docker.com/linux/debian \<br>$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list &gt; /dev/null</p>
<p># 设置正确的权限<br>sudo chmod a+r /etc/apt/keyrings/docker.gpg</p>
<p># 更新软件包索引<br>echo "7. 更新软件包索引..."<br>sudo apt update</p>
<p># 安装 Docker<br>echo "8. 安装 Docker..."<br>sudo apt install -y \<br>    docker-ce \<br>    docker-ce-cli \<br>    containerd.io \<br>    docker-buildx-plugin \<br>    docker-compose-plugin</p>
<p># 启动 Docker 服务<br>echo "9. 启动 Docker 服务..."<br>sudo systemctl enable docker<br>sudo systemctl start docker</p>
<p># 验证安装<br>echo "10. 验证安装..."<br>sudo docker --version<br>sudo docker compose version</p>
<p># 测试运行<br>echo "11. 测试 Docker..."<br>sudo docker run --rm hello-world</p>
<p>echo "=== Docker 安装完成 ==="<br>```</p>
<p>运行:<br>```bash<br>chmod +x install_docker_debian.sh<br>./install_docker_debian.sh<br>```</p>
<p>## 3. 替代方案:使用 Debian 自带的 Docker</p>
<p>如果官方源还有问题,使用 Debian 12 自带的版本:</p>
<p>```bash<br># 安装 Debian 自带的 Docker<br>sudo apt update<br>sudo apt install -y docker.io docker-compose</p>
<p># 启动服务<br>sudo systemctl enable docker<br>sudo systemctl start docker</p>
<p># 验证<br>docker --version<br>docker-compose --version<br>```</p>
<p>## 4. 如果上述方法都失败,使用这个终极方案</p>
<p>```bash<br>#!/bin/bash<br># 终极 Docker 安装方案</p>
<p>echo "=== 终极 Docker 安装方案 ==="</p>
<p># 方法1:尝试官方 Docker CE<br>install_docker_ce() {<br>    echo "尝试方法1: Docker CE 官方源..."<br>    sudo apt remove -y docker docker-engine docker.io containerd runc 2&gt;/dev/null<br>    sudo apt update<br>    sudo apt install -y ca-certificates curl gnupg lsb-release<br>    <br>    # 添加 Docker 源<br>    sudo mkdir -p /etc/apt/keyrings<br>    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg<br>    echo "deb https://download.docker.com/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list &gt; /dev/null<br>    <br>    sudo apt update<br>    if sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin; then<br>      echo "✅ Docker CE 安装成功"<br>      return 0<br>    fi<br>    echo "❌ Docker CE 安装失败"<br>    return 1<br>}</p>
<p># 方法2:使用 Debian 自带版本<br>install_docker_io() {<br>    echo "尝试方法2: Debian 自带 Docker..."<br>    if sudo apt install -y docker.io docker-compose; then<br>      echo "✅ Docker.io 安装成功"<br>      return 0<br>    fi<br>    echo "❌ Docker.io 安装失败"<br>    return 1<br>}</p>
<p># 方法3:使用脚本安装<br>install_docker_script() {<br>    echo "尝试方法3: 官方安装脚本..."<br>    curl -fsSL https://get.docker.com -o get-docker.sh<br>    sudo sh get-docker.sh<br>    if docker --version &amp;&gt;/dev/null; then<br>      echo "✅ 脚本安装成功"<br>      return 0<br>    fi<br>    echo "❌ 脚本安装失败"<br>    return 1<br>}</p>
<p># 执行安装<br>if install_docker_ce; then<br>    echo "使用 Docker CE 版本"<br>elif install_docker_io; then<br>    echo "使用 Docker.io 版本"<br>elif install_docker_script; then<br>    echo "使用脚本安装版本"<br>else<br>    echo "❌ 所有安装方法都失败了"<br>    exit 1<br>fi</p>
<p># 启动服务<br>sudo systemctl enable docker<br>sudo systemctl start docker</p>
<p># 添加用户到 docker 组<br>sudo usermod -aG docker $USER<br>echo "请重新登录或执行 'newgrp docker' 来应用用户组更改"</p>
<p># 验证<br>echo "安装验证:"<br>docker --version<br>docker compose version<br>```</p>
<p>运行终极方案:<br>```bash<br>chmod +x docker_ultimate.sh<br>./docker_ultimate.sh<br>```</p>
<p>## 5. 安装后的配置</p>
<p>```bash<br># 添加用户到 docker 组(避免 sudo)<br>sudo usermod -aG docker $USER<br># 重新登录或执行:<br>newgrp docker</p>
<p># 配置镜像加速(国内用户)<br>sudo mkdir -p /etc/docker<br>sudo tee /etc/docker/daemon.json &lt;&lt;-'EOF'<br>{<br>"registry-mirrors": [<br>    "https://docker.mirrors.ustc.edu.cn",<br>    "https://hub-mirror.c.163.com",<br>    "https://registry.docker-cn.com"<br>]<br>}<br>EOF</p>
<p>sudo systemctl daemon-reload<br>sudo systemctl restart docker</p>
<p># 测试<br>docker run --rm hello-world<br>```</p>
<p>## 6. 验证安装成功</p>
<p>```bash<br># 检查版本<br>docker --version<br>docker compose version</p>
<p># 检查服务状态<br>systemctl status docker</p>
<p># 运行测试容器<br>docker run --rm hello-world</p>
<p># 检查信息<br>docker info<br>```</p>
<p>**关键点**:你的系统是 Debian 12 (bookworm),不是 Ubuntu,所以必须使用 Debian 的 Docker 源。推荐先运行一键安装脚本,应该就能解决问题!</p><br><br>
来源:https://www.cnblogs.com/zhg1016/p/19143786
頁: [1]
查看完整版本: Debian 12安装docker的正确方法