如何在kali-linux中安装docker-ce?

如何在kali-linux中安装docker-ce?

我最近尝试安装 Docker,但自从安装后我就无法再更新 kali-linux 了。

这是我输入“sudo apt update”后的输出

Hit:1 http://dl.google.com/linux/chrome/deb stable InRelease
Ign:2 https://download.docker.com/linux/debian kali-rolling InRelease
Err:4 https://download.docker.com/linux/debian kali-rolling Release
  404  Not Found [IP: 13.227.73.95 443]
Hit:3 http://mirrors.ocf.berkeley.edu/kali kali-rolling InRelease
Reading package lists... Done              
E: The repository 'https://download.docker.com/linux/debian kali-rolling Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

有什么建议么?谢谢!

答案1

在您的来源中使用debian代号:

编辑你的/etc/apt/sources.list如下:

deb [arch=amd64] https://download.docker.com/linux/debian buster stable

或使用以下命令:

printf "%s\n" "deb [arch=amd64] https://download.docker.com/linux/debian buster stable" |\
sudo tee /etc/apt/sources.list.d/docker-ce.list

添加 gpg 密钥:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

安装docker-ce

sudo apt update
sudo apt install docker-ce

在 Debian 上安装 Docker 引擎

更新

我已经更新了Kali Linux 文档,现在您可以安全地添加 Debian docker-ce 存储库,如本答案中所述。安装方法如下:

在 Kali Linux 上安装 docker-ce

docker-ce 可以使用 Debian buster 代号从 Docker 存储库安装。

将 Docker 存储库添加到您的sources.list

printf "%s\n" "deb [arch=amd64] https://download.docker.com/linux/debian bullseye stable" |\
sudo tee /etc/apt/sources.list.d/docker-ce.list

导入 gpg 密钥:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

指纹检查:

sudo apt-key fingerprint 0EBFCD88

安装最新版本的 docker-ce:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

参考

在 Debian 上安装 Docker 引擎

答案2

Kali Linux Docker 官方指南指出:

需要记住的一件事是,Kali Linux 基于 Debian,因此我们需要使用 Debian 当前的稳定版本(尽管 Kali Linux 是滚动发行版)。在撰写本文时(2021年12月), 它是 ”靶心

正如您所看到的,Debian 的稳定版本(截至 2023 年 4 月)是bullseye,而不是kali-rolling。当您访问此网址时https://download.docker.com/linux/debian/dists/,你甚至不会kali-rolling在那里看到任何东西。

因此,如果您想消除错误,您应该打开这些文件:

  • /etc/apt/sources.list.d/docker.list
  • /etc/apt/sources.list.d/docker-ce.list

并将所有出现的 替换kali-rollingbullseye

例如,就我而言,我有这样的:

  • /etc/apt/sources.list.d/docker.list:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] 
https://download.docker.com/linux/debian bullseye stable
  • /etc/apt/sources.list.d/docker-ce.list:
deb https://download.docker.com/linux/debian bullseye stable

答案3

使用官方(通常是首选)安装脚本而不编辑系统文件的一种方法是注入一个选项kali-linux(或任何其他发行版)并将其动态链接到首选的 docker 版本:

curl -sSL https://get.docker.com |\
sed 's/case "$dist_version" in/case "$dist_version" in kali-rolling)dist_version="bullseye";;/g' |\
sudo sh

这将case "$dist_version" in用以下代码(为光学添加缩进)替换确定 Debian 版本的安装脚本函数的行,并添加 Kali 选项:

case "$dist_version" in
  kali-rolling)
    dist_version="bullseye"
;;

进行相应调整dist_version="bullseye"以指定要模仿的不同发行版。

根据需要执行常用命令,使 Kali 用户能够在没有 docker 的情况下运行 dockersudo并激活 docker 服务:

usermod -aG docker kali
systemctl enable docker

相关内容