第五章 WSL-Kali 调用 Windows Docker Desktop 完整实操

2. WSL-Kali 调用 Windows Docker Desktop 完整实操

1)下载Windows Docker Desktop

https://www.docker.com/products/docker-desktop/

核心原理:Docker Desktop 提供统一引擎,Kali 只调用 docker 客户端,镜像 / 容器全部存在 Windows 侧(你之前设置的 G 盘),不用在 Kali 内部单独装 Docker 引擎,共用一套镜像仓库。

2)安装

在G:\lab\017_kali打开powershell

复制代码
& ".\Docker Desktop Installer.exe" install --installation-dir="G:\lab\017_kali\docker"
3)Docker Desktop 开启 Kali WSL 集成
复制代码
- 打开 Docker Desktop → 右上角齿轮 **Settings(设置)**
- 左侧菜单:**Resources → WSL Integration**
- 勾选两项:
    
    - `Enable integration with my default WSL distro`
    - 下方列表勾选 `kali-linux`
    
- 点击右下角 **Apply & Restart**,Docker 自动重启生效
4) kali侧配置
复制代码
#安装缺失工具再切换组
┌──(kali㉿DESKTOP-8IU6393)-[~/.hermes/skills]
└─$ sudo apt update
sudo apt install util-linux-extra -y
newgrp docker
#测试 docker 命令
┌──(kali㉿DESKTOP-8IU6393)-[~/.hermes/skills]
└─$ sudo docker ps -a
sudo docker run hello-world
sudo docker compose up
CONTAINER ID   IMAGE         COMMAND    CREATED          STATUS    PORTS     NAMES
d9d9851c71ec   hello-world   "/hello"   47 seconds ago   Created             blissful_bose
#校验是否加入 docker 组

┌──(kali㉿DESKTOP-8IU6393)-[~/.hermes/skills]
└─$ groups
docker sudo users ssl-cert xrdp kali


┌──(kali㉿DESKTOP-8IU6393)-[/mnt/c/Users/Administrator]
└─$ docker context ls
NAME            DESCRIPTION                               DOCKER ENDPOINT                             ERROR
default *       Current DOCKER_HOST based configuration   unix:///var/run/docker.sock
desktop-linux   Docker Desktop                            npipe:////./pipe/dockerDesktopLinuxEngine

┌──(kali㉿DESKTOP-8IU6393)-[/mnt/c/Users/Administrator]
└─$ sudo docker info
Client:
 Version:    28.5.2+dfsg4
 Context:    default
 Debug Mode: false
 Plugins:
  agent: Docker AI Agent Runner (Docker Inc.)
    Version:  v1.73.0
    Path:     /usr/local/lib/docker/cli-plugins/docker-agent
  ai: Docker AI Agent - Ask Gordon (Docker Inc.)
    Version:  v1.25.0
    Path:     /usr/local/lib/docker/cli-plugins/docker-ai
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.34.1-desktop.1
    Path:     /usr/local/lib/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v5.1.4
    Path:     /usr/local/lib/docker/cli-plugins/docker-compose
  debug: Get a shell into any image or container (Docker Inc.)
    Version:  0.0.47
    Path:     /usr/local/lib/docker/cli-plugins/docker-debug
  desktop: Docker Desktop commands (Docker Inc.)
    Version:  v0.3.0
    Path:     /usr/local/lib/docker/cli-plugins/docker-desktop
  dhi: CLI for managing Docker Hardened Images (Docker Inc.)
    Version:  v0.0.4
    Path:     /usr/local/lib/docker/cli-plugins/docker-dhi
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.31
    Path:     /usr/local/lib/docker/cli-plugins/docker-extension
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.4.0
    Path:     /usr/local/lib/docker/cli-plugins/docker-init
  mcp: Docker MCP Plugin (Docker Inc.)
    Version:  v0.42.2
    Path:     /usr/local/lib/docker/cli-plugins/docker-mcp
  model: Docker Model Runner (Docker Inc.)
    Version:  v1.2.1
    Path:     /usr/local/lib/docker/cli-plugins/docker-model
  offload: Docker Offload (Docker Inc.)
    Version:  v0.6.3
    Path:     /usr/local/lib/docker/cli-plugins/docker-offload
  pass: Docker Pass Secrets Manager Plugin (beta) (Docker Inc.)
    Version:  v0.1.4
    Path:     /usr/local/lib/docker/cli-plugins/docker-pass
  sandbox:  (Docker Inc.)
    Version:  v0.12.0
    Path:     /usr/local/lib/docker/cli-plugins/docker-sandbox
  scout: Docker Scout (Docker Inc.)
    Version:  v1.21.0
    Path:     /usr/local/lib/docker/cli-plugins/docker-scout

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 1
 Server Version: 29.5.3
 Storage Driver: overlayfs
  driver-type: io.containerd.snapshotter.v1
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 CDI spec directories:
  /etc/cdi
  /var/run/cdi
 Discovered Devices:
  cdi: docker.com/gpu=webgpu
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 nvidia runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 193637f7ee8ae5f5aa5248f49e7baa3e6164966e
 runc version: v1.3.5-0-g488fc13e
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.6.87.2-microsoft-standard-WSL2
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 24
 Total Memory: 62.74GiB
 Name: docker-desktop
 ID: ef2f5a22-54a3-41de-bff8-d6da6bcc3142
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Labels:
  com.docker.desktop.address=unix:///var/run/docker-cli.sock
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  ::1/128
  127.0.0.0/8
 Live Restore Enabled: false


┌──(kali㉿DESKTOP-8IU6393)-[/mnt/c/Users/Administrator]
└─$ cd ~/.hermes/skills/VulhubLab/log4j/CVE-2021-44228
sudo docker-compose up -d
WARN[0000] /home/kali/.hermes/skills/VulhubLab/log4j/CVE-2021-44228/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
[+] up 2/2
 ✔ Network cve-2021-44228_default  Created                                                                          0.3s
 ✔ Container cve-2021-44228-solr-1 Started                                                                          1.1s

┌──(kali㉿DESKTOP-8IU6393)-[~/.hermes/skills/VulhubLab/log4j/CVE-2021-44228]
└─$