🐳 Kali Linux 实战指南:安装 Docker 和 Docker Compose (2025最新版)
🐳 Kali Linux 实战指南:安装 Docker 和 Docker Compose (2025最新版)
在渗透测试和安全研究中,Docker 提供了安全隔离的实验环境。本文将手把手教你如何在 Kali Linux 上安装 Docker 和 Docker Compose,并配置国内镜像加速器!
🚀 一、安装 Docker(Kali 2025专用方法)
1. 准备工作
# 更新系统
sudo apt update && sudo apt full-upgrade -y
# 安装依赖
sudo apt install -y ca-certificates curl gnupg lsb-release
2. 添加 Docker 官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
3. 设置稳定版仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. 安装 Docker 引擎
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
5. 验证安装
sudo docker run hello-world
# 看到 "Hello from Docker!" 表示成功
⚡ 二、配置 Docker 国内镜像加速器
1. 创建配置文件
sudo nano /etc/docker/daemon.json
2. 添加阿里云镜像加速器(2025最新)
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://hub-mirror.c.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn"
],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
}
}
3. 重启服务生效
sudo systemctl daemon-reload
sudo systemctl restart docker
# 检查配置
docker info | grep Mirrors -A 2
🔌 三、安装 Docker Compose(独立版)
虽然 Docker 内置 compose-plugin,但建议安装独立版增强兼容性:
# 下载最新版 (2025年7月)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 设置可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 验证安装
docker-compose --version
# 输出: Docker Compose version v2.25.0
🔒 四、非Root用户使用Docker(安全必做)
1. 添加当前用户到docker组
sudo usermod -aG docker $USER
# 立即生效
newgrp docker
2. 测试非特权用户权限
docker run --rm alpine echo "非root用户成功运行容器!"
🧪 五、实战测试:部署 WordPress 环境
创建 docker-compose.yml 文件:
version: '3.8'
services:
db:
image: mysql:8.0
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: your_strong_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
networks:
- wordpress-net
wordpress:
image: wordpress:latest
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
- wp_data:/var/www/html
networks:
- wordpress-net
depends_on:
- db
volumes:
db_data:
wp_data:
networks:
wordpress-net:
启动服务:
docker-compose up -d
# 访问 http://localhost:8080 完成安装
⚠️ 六、安全加固建议
-
限制容器资源:
# 在docker-compose.yml中添加 resources: limits: cpus: '1.0' memory: 512M -
定期更新镜像:
docker-compose pull docker image prune -f -
使用只读文件系统:
# 在服务配置中添加 read_only: true -
容器进程监控:
watch -n 5 "docker stats --no-stream"
🛠️ 七、常见问题排查
-
权限被拒绝:
sudo chown $USER:$USER /home/$USER/.docker -R sudo chmod g+rwx /home/$USER/.docker -R -
端口冲突:
netstat -tuln | grep 8080 # 查看占用 -
容器无法联网:
docker network inspect bridge systemctl restart systemd-resolved -
磁盘空间不足:
docker system df # 查看使用情况 docker system prune -af # 清理无用资源
💡 专业技巧(渗透测试场景)
-
快速部署漏洞环境:
docker run -d -p 80:80 vulnerables/web-dvwa -
创建后渗透容器:
docker run -it --network host kalilinux/kali-rolling bash -
保存自定义镜像:
docker commit [容器ID] my-custom-kali docker save my-custom-kali > kali-ctf.tar
最后一步:启用 Docker 自启动
sudo systemctl enable docker使用案例:每次开机自动启动 Metasploit 容器:
docker run -d --name msf -p 4444:4444 kalilinux/kali-rolling msfconsole -q -x "db_connect user:pass@host/db; sleep infinity"
本文在 Kali Linux 2025.1 上测试通过。Docker 部署成功不仅可以提升工作效率,还能创建安全的研究环境。有任何问题欢迎在评论区交流!

浙公网安备 33010602011771号