在Kali(Debian)系统上安装docker&docker-compose并给docker配置socks代理
安装docker
方法一:使用kali官方的安装方式(经测试,安装的docker版本为20.0)
参考链接如下
Installing Docker on Kali Linux
由于现在docker hub的镜像站都挂了(可能?),为了方便的配置代理拉取镜像,推荐使用方法二来安装docekr,可以通过编辑/etc/docker/daemon.json
文件来设置代理地址,个人感觉较为方便
方法二:
1、对APT软件包换源(以清华大学镜像站为例)
复制换源地址
打开终端,执行sudo vim /etc/apt/source.list
如上图,将官方源注释掉,将换源地址复制进去(或者全部删除只保留换源地址)
执行sudo apt update
更新缓存
2、按顺序执行以下命令
# 卸载docker
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do apt-get remove $pkg; done
# 安装依赖
apt-get update
apt-get install ca-certificates curl gnupg
# 信任 Docker 的 GPG 公钥并添加仓库
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 添加docker源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
bookworm stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新软件源
apt-get update
# 安装Docker
apt-get install docker-ce docker-ce-cli containerd.io
注意:在添加docker源那一步中,由于参考的是清华镜像站中Debian的安装方式,它用的是一个命令输出,Kali通过那个命令没输出对应Debian的发行版名称,所以我们只能自己去查,看看自己kali基于的是Debian的哪个发行版,如果是在Debian上面安装可以直接复制清华大学镜像站中的命令,我使用的是kali 2024.2 经测试,使用bookworm
发行版可以正常使用
官方说明说kali是基于Debian Testing 一般就是最新的吧,可以问GPT或者看看更新历史啥的
3、测试docker安装是否成功
执行以下命令 docker --version
有正常回显就是安装成功了
安装docker-compose
网络环境比较好的可以直接执行以下命令
wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-linux-x86_64
chmod +x /usr/local/bin/docker-compose
如果网络环境不太好,那就自己先下载到本地,上传到Linux,移动到/usr/local/bin
将名字改为docker-compose
,再赋予执行权限即可
执行docker-compose
有回显说明安装成功
给docker配置代理
执行sudo vim /etc/docker/daemon.json
配置代理地址
{
"proxies": {
"http-proxy": "socks5://x.x.x.x:7897",
"https-proxy": "socks5://x.x.x.x:7897"
}
}
注意:这种配置代理的方式需要docker版本比较新(貌似是>24.0? 忘记了),如果用方法一安装的docker可能要参考别的配置代理的方法了
按顺序执行以下命令
sudo systemctl daemon-reload
sudo systemctl restart docker
docker run --rm hello-world
能正常拉取并回显说明配置成功
给docker配置镜像
由于某种原因,docker hub镜像站很多都挂了,这边给一个参考链接看看大伙能不能找到一些还能用的镜像站吧
https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6
如果真找不到镜像站,而且自己的网络环境也不太好,那就只能问问周围能用docker的人它们是怎么配置的了(笑) =w=