ubuntu24.04 部署 docker----deepseek答案

ubuntu 24.04 安装 docker
 
 
 
 

用户想在Ubuntu 24.04上安装Docker。我需要提供详细的步骤。为了全面获取信息,我需要同时进行多项搜索,涵盖官方文档、第三方教程以及可能出现的常见问题。

 
搜索到 19 个网页
 

搜索结果显示了一些相关页面。为了全面了解安装过程,我们需要同时打开这些页面。

 

这些资料提供了多种安装方法。我的回答将涵盖使用官方仓库安装、使用便捷脚本安装、离线安装等不同方式,并会包含常见问题解答。回答会引用多个来源。

 

在 Ubuntu 24.04 上安装 Docker 最推荐的方式是使用官方 apt 仓库,这样能确保你获得最新、最稳定的版本。

📋 安装前的准备

开始前,可以先检查一下系统是否已有旧版本或非官方的 Docker 软件包,并清理掉它们。

bash
# 清除潜在的冲突软件包
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

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

这是最可靠的安装方式,后续更新也最方便。

  1. 更新并安装依赖:首先,更新软件包列表,并安装 ca-certificates 和 curl 等必要的工具。

    bash
    sudo apt update
    sudo apt install ca-certificates curl
  2. 添加 Docker 官方 GPG 密钥:下载并安装 Docker 的官方 GPG 密钥,这是确保软件包真实性的关键一步。

    bash
    # 创建存储密钥的目录
    sudo install -m 0755 -d /etc/apt/keyrings
    # 下载并安装 GPG 密钥
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    或者改为 阿里镜像源
    sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.asc  

    # 设置密钥文件的读取权限

    sudo chmod a+r /etc/apt/keyrings/docker.asc
  3. 添加 Docker 软件源:将 Docker 的官方软件源添加到 APT 源列表中。

    bash
    # 添加 Docker 仓库
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
      $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  4. 安装 Docker Engine:更新 APT 源索引,然后安装 Docker Engine 及其配套插件。

    bash
    # 再次更新 APT 源,使 Docker 仓库生效
    sudo apt update
    # 安装 Docker
    sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  5. 验证安装:运行官方测试镜像,看到欢迎信息即表示安装成功。

    bash
    sudo docker run hello-world

⚡ 方法二:使用便捷脚本安装(快速/测试环境)

如果想快速体验,官方提供了一个便捷脚本,但生产环境不推荐。

bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

💻 安装后配置

为了安全便捷地使用 Docker,强烈建议进行以下配置:

  • 添加用户组(避免每次使用 sudo):将当前用户加入 docker 用户组,之后运行 docker 命令就无需再加 sudo 了。

    bash
    sudo usermod -aG docker $USER

    重要:执行此命令后,你需要注销并重新登录(或重启终端),用户组权限才会生效。

  • 验证 Docker 服务:确认 Docker 守护进程正在运行。

    bash
    sudo systemctl status docker

🚀 安装 Docker Compose

Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过上述两种方法安装 Docker 时,docker-compose-plugin 会一并安装。你可以通过以下命令验证:

bash
docker compose version

💡 可选配置:配置国内镜像加速器(非必需)

在国内网络环境下,为 Docker 配置一个镜像加速器可以显著提高拉取镜像的速度。例如,使用阿里云镜像加速器:

  1. 创建或修改 /etc/docker/daemon.json 文件:

    bash
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://your-mirror-address"]
    }
    EOF

    请注意:请将 "https://your-mirror-address" 替换为你从云服务商(如阿里云、腾讯云)获取的专属加速器地址。

  2. 重启 Docker 服务使配置生效:

    bash
    sudo systemctl daemon-reload
    sudo systemctl restart docker

🩺 常见问题与故障排除

  • sudo docker run hello-world 出现权限错误
    这意味着当前用户不在 docker 用户组中。请按照“安装后配置”部分的指引将用户加入 docker 组并重新登录。

  • 安装时提示无法找到 noble 源
    这通常是因为 lsb_release -cs 命令返回的代号 noble 还未被 Docker 仓库正式收录。你可以临时将软件源中的 noble 替换为 jammy(Ubuntu 22.04 的代号),这通常是可行的,因为 Docker 对 Ubuntu LTS 版本有很好的向下兼容性。修改方法如下:

    bash
    # 使用 jammy (22.04) 源代替 noble
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
      jammy stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt update
  • 防火墙(ufw)与 Docker 的兼容性问题
    当你使用 Docker 并暴露端口时,Docker 会直接操作 iptables 规则,这些规则会绕过 ufw 等防火墙工具。这意味着即使 ufw 没有放开某个端口,Docker 容器依然可以访问它,存在潜在的安全风险。建议的方案是,在启动容器时使用 -p 参数精确映射所需的端口,并配合云平台的安全组规则进行网络访问控制。

posted @ 2026-04-20 10:10  丁耀庭  阅读(43)  评论(0)    收藏  举报