kali安装docker


方法 1:安装 docker.io(Kali 默认推荐)

Kali Linux 的包管理器中有一个名为 docker 的包,但它不是 Docker 容器引擎,而是另一个工具。因此,我们需要安装 docker.io,这是 Kali 提供的 Docker 容器引擎版本。

  1. 更新包列表

    sudo apt update
  2. 安装 docker.io

    sudo apt install -y docker.io
  3. 启动并启用 Docker 服务

    sudo systemctl enable docker --now
  4. 验证安装
    检查 Docker 是否正确安装并运行:

    docker --version
    docker run hello-world

    hello-world 容器会下载并运行,输出确认信息。

  5. (可选)添加用户到 Docker 组
    默认情况下,运行 Docker 命令需要 sudo。若想以非 root 用户运行 Docker,需将用户添加到 docker 组:

    sudo usermod -aG docker $USER

    然后注销并重新登录以应用更改:

    newgrp docker
  6. (可选)安装 Kali 工具
    如果需要使用 Kali 的 Docker 镜像(如 kalilinux/kali-rolling),可以拉取镜像并安装工具:

    docker pull docker.io/kalilinux/kali-rolling
    docker run -ti kalilinux/kali-rolling
    apt update && apt -y install kali-linux-headless

注意docker.io 是 Kali 维护的版本,可能不是最新的 Docker 版本,但安装简单且与 Kali 兼容性较好。


方法 2:安装 Docker CE(官方 Docker 仓库)

如果需要最新版本的 Docker CE,可以从 Docker 官方仓库安装。Kali 是基于 Debian 的滚动发行版,因此需要选择对应的 Debian 版本(例如,截至 2023 年 12 月,Debian 稳定版为 bookworm)。

  1. 更新包列表并安装依赖

    sudo apt update
    sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
  2. 添加 Docker 官方 GPG 密钥

    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

手动下载 GPG 密钥
既然 curl 下载 GPG 密钥失败,可以手动下载并保存:

sudo mkdir -p /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo tee /etc/apt/keyrings/docker.asc

如果仍然报错,可以使用浏览器访问

https://download.docker.com/linux/debian/gpg,将内容保存为文件(例如 docker.asc),然后手动复制到 /etc/apt/keyrings/docker.asc

sudo mv ~/Downloads/docker.asc /etc/apt/keyrings/docker.asc

检查 curl 的 SSL/TLS 配置
curl: (35) 错误可能与 SSL/TLS 协议相关。尝试以下方法:

  • 使用 --insecure 跳过 SSL 验证(仅用于测试,不推荐生产环境):
    curl -fsSL --insecure https://download.docker.com/linux/debian/gpg | sudo tee /etc/apt/keyrings/docker.asc
  • **更新 curlca-certificates**:
    sudo apt update
    sudo apt install -y curl ca-certificates
  1. 添加 Docker 仓库
    确定当前 Debian 稳定版(例如 bookworm):
    echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list

或者用阿里云镜像

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list

注意:将 bookworm 替换为当前 Debian 稳定版(可通过 lsb_release -cs 或查看 Docker 官方仓库确认)。

  1. 更新包列表并安装 Docker CE

    sudo apt update
    sudo apt install -y docker-ce docker-ce-cli containerd.io
  2. 启动并启用 Docker 服务

    sudo systemctl enable docker --now
  3. 验证安装

    docker --version
    docker run hello-world
  4. (可选)添加用户到 Docker 组
    同方法 1 步骤 5。

注意:Kali 是滚动发行版,可能会与 Docker 官方仓库的版本支持产生冲突。建议定期检查 Docker 官方文档以确保使用正确的 Debian 版本。


方法 3:使用 Docker 官方安装脚本

对于测试或开发环境,可以使用 Docker 提供的便利脚本自动安装:

  1. 下载并运行脚本
    curl -sSL https://get.docker.com | sed 's/kali-rolling/bookworm/g' | sudo sh

注意:此处直接替换 kali-rollingbookworm,避免仅修改 case 语句可能导致的遗漏。

调整 Kali 的版本映射(如有必要):
如果脚本无法识别 Kali 的版本(例如 kali-rolling),可以手动指定 Debian 版本:

curl -sSL https://get.docker.com | sed 's/case "$dist_version" in/case "$dist_version" in kali-rolling)dist_version="bookworm";;/g' | sudo sh
  1. 使用备用镜像源
    如果 Docker 官方服务器不可用,可以尝试从镜像站(如阿里云、清华大学)下载 GPG 密钥或 Docker 软件包:
  • 修改安装脚本,使用镜像源(例如阿里云):
    curl -sSL https://get.docker.com | sed 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' | sudo sh

注意:确保镜像源支持 Debian bookworm 版本。

重新运行安装脚本
在解决网络或 GPG 密钥问题后,重新运行安装脚本:

curl -sSL https://get.docker.com | sed 's/case "$dist_version" in/case "$dist_version" in kali-rolling)dist_version="bookworm";;/g' | sudo sh
  1. 启动并启用 Docker 服务

    sudo systemctl enable docker --now
  2. 验证安装

    docker --version
    docker run hello-world
  3. (可选)添加用户到 Docker 组
    同方法 1 步骤 5。

注意:此方法不推荐用于生产环境,仅适合快速部署测试环境。


安装 Docker Compose(可选)

如果需要使用 Docker Compose 来管理多容器应用,可以单独安装:

  1. 下载最新版本的 Docker Compose

    curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  2. 添加执行权限

    sudo chmod +x /usr/local/bin/docker-compose
  3. 验证安装

    docker-compose --version

注意:Docker Compose 在某些版本中可能需要单独安装,具体版本请参考 Docker 官方文档。


常见问题

  • 问题 1apt update 报错,提示 Docker 仓库不可用(如 404 Not Found)。
    • 解决:检查 /etc/apt/sources.list.d/docker.list 中的 Debian 版本是否正确(如 bookwormbullseye)。Kali 的滚动特性可能导致版本不匹配。
  • 问题 2:Docker 服务未启动。
    • 解决:运行 sudo systemctl start docker 并检查状态:sudo systemctl status docker
  • 问题 3:Kali Docker 镜像缺少工具。
    • 解决:Kali 官方 Docker 镜像(如 kalilinux/kali-rolling)默认不含完整工具集,需手动安装 kali-linux-headless 或特定工具包。

安装脚本使用了阿里云镜像源(https://mirrors.aliyun.com/docker-ce/linux/debian),但该镜像源不支持 kali-rolling 作为版本标识。Kali Linux 是基于 Debian 的滚动发行版,而 Docker 仓库通常只支持 Debian 的稳定版本(如 bookwormbullseye)。

  • 脚本问题:虽然您使用了 sed 命令将 kali-rolling 替换为 bookworm,但脚本可能在某些步骤中仍尝试使用原始的 kali-rolling 版本,导致仓库配置错误。
  • 阿里云镜像:阿里云的 Docker 镜像可能不支持所有 Debian 版本,或者配置不正确。

1. 检查并修复 Docker 仓库配置

错误表明 /etc/apt/sources.list.d/docker.list 中的仓库配置可能不正确。需要手动调整为正确的 Debian 版本(bookworm)。

  1. 检查当前仓库配置
    查看 /etc/apt/sources.list.d/docker.list

    cat /etc/apt/sources.list.d/docker.list

    可能的输出类似于:

    deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.aliyun.com/docker-ce/linux/debian kali-rolling stable
  2. 修复仓库配置
    kali-rolling 替换为 bookworm

    sudo sed -i 's/kali-rolling/bookworm/' /etc/apt/sources.list.d/docker.list

    修复后,文件内容应类似于:

    deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.aliyun.com/docker-ce/linux/debian bookworm stable
  3. 更新包列表

    sudo apt update

    如果仍然报错,检查阿里云镜像是否支持 bookworm(见步骤 2)。

  4. 继续安装 Docker

    sudo apt install -y docker-ce docker-ce-cli containerd.io
  5. 验证安装

    docker --version
    docker run hello-world

2. 切换到 Docker 官方仓库

如果阿里云镜像持续失败,尝试使用 Docker 官方仓库:

  1. 移除现有 Docker 仓库配置

    sudo rm /etc/apt/sources.list.d/docker.list
  2. 添加 Docker 官方仓库

    sudo mkdir -p /etc/apt/keyrings
    
    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo tee /etc/apt/keyrings/docker.asc
    
    echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list
  3. 更新并安装

    sudo apt update
    sudo apt install -y docker-ce docker-ce-cli containerd.io
  4. 启动 Docker 服务

    sudo systemctl enable docker --now
    docker run hello-world

3. 检查阿里云镜像支持

阿里云的 Docker 镜像(mirrors.aliyun.com/docker-ce)可能不支持 bookworm 或配置有误。验证方法:

  • 使用浏览器访问 https://mirrors.aliyun.com/docker-ce/linux/debian/dists/,检查是否列出 bookworm
  • 如果不支持 bookworm,尝试其他镜像源(如清华大学镜像):
    echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list
    sudo apt update

4. 使用 docker.io 作为替代方案

如果 Docker CE 安装持续失败,推荐使用 Kali 软件仓库中的 docker.io,它更简单且与 Kali 兼容:

  1. **安装 docker.io**:

    sudo apt update
    sudo apt install -y docker.io
  2. 启动并启用 Docker 服务

    sudo systemctl enable docker --now
  3. 验证安装

    docker --version
    docker run hello-world
  4. (可选)添加用户到 Docker 组

    sudo usermod -aG docker $USER
    newgrp docker

5. 重新运行修改后的安装脚本

如果您希望继续使用安装脚本,确保正确替换版本:

curl -sSL https://get.docker.com | sed 's/kali-rolling/bookworm/g' | sudo sh

注意:此处直接替换 kali-rollingbookworm,避免仅修改 case 语句可能导致的遗漏。

6. 检查网络和环境

确保网络正常且无代理或防火墙干扰:

  • 测试网络:
    ping -c 4 mirrors.aliyun.com
    curl -v https://mirrors.aliyun.com/docker-ce elements

文章作者: kukuqi666
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 kukuqi666 !
评论
  目录