最近需要安装docker来用,遇了点问题,解决了就顺带发个贴吧
kali是基于Debian系统开发的,所以我们按官方Debian安装来就行
设置存储库
更新apt包索引并安装包以允许apt通过 HTTPS 使用存储库:
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
添加Docker官方的GPG密钥:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
使用以下命令设置稳定存储库。要添加 每晚或测试存储库,请在以下命令中的单词后添加单词nightly或test(或两者)stable:
(x86_64/amd64):
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
有个注意的点,按官方的下一步是:直接 “apt-get update”,然而这样只会报错404
我们需要进入/etc/apt/sources.lisr.d/修改下里面的docker.list
sudo vim /etc/apt/sources.list.d/docker.list
原文件内容如下:
deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian/ kali-rolling stable
把kali-rolling修改为stretch:
deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian/ stretch stable
我们再尝试sudo apt-get update
搞定后我们就可以安装最新版本的Docker Engine和containerd了:
sudo apt-get install docker-ce docker-ce-cli containerd.io
如果要安装特定版本的 Docker Engine,在 repo 中列出可用版本,然后选择并安装:
apt-cache madison docker-ce
将VERSION_STRING替换为你想指定的版本即可,例如:“5:19.03.153-0debian-stretch”
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
运行docker -v验证 Docker是否已安装
运行hello word能否正常拉取镜像
sudo docker run hello-word
报错:
docker: Error response from daemon: cgroups: cgroup mountpoint does not exist: unknown.
ERRO[0000] error waiting for container: context canceled
解决办法:
sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
有时候会有拉不到的情况,这是网络问题,配置镜像加速