跳到主要内容

在 Windows 上安装

Docker Desktop 运行代理的方式和 Linux 一样。你永远不用直接接触 WSL ——Docker Desktop 会安装并管理它自己的 WSL2 后端,代理就运行在里面。

1. 安装所需组件​

  1. NVIDIA 驱动——从 nvidia.com/drivers 下载的普通 Windows 驱动,版本 575 或更新。WSL 不需要单独的驱动;Windows 的驱动已经 覆盖了它。
  2. Docker Desktop, 使用 WSL2 后端(默认选项)。让它完成首次运行的设置。

然后在 PowerShell 里检查这两项:

docker run hello-world
docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi

第二条命令必须打印出你的显卡信息。如果没有,说明驱动版本太旧,或者 Docker Desktop 没有使用 WSL2 后端。

2. 选一个密码并保存好​

Windows 没有 openssl,所以我们从一个容器里借用它——这在任何能运行 Docker 的机器上都适用。

$pw = docker run --rm alpine sh -c "head -c 32 /dev/urandom | base64 -w0"
echo $pw # 现在就把它记下来

3. 运行它​

注意用于换行的反引号 `——这是 PowerShell 里相当于 \ 的写法。

docker run -d --name neurogrid-agent `
--gpus all --restart unless-stopped `
--log-driver json-file `
--log-opt max-size=10m `
--log-opt max-file=3 `
--dns 1.1.1.1 --dns 8.8.8.8 `
-v neurogrid-data:/data `
-v /var/run/docker.sock:/var/run/docker.sock `
-v /var/lib/neurogrid/workloads:/var/lib/neurogrid/workloads `
-e AGENT_ENCRYPTION_PASSWORD="$pw" `
ghcr.io/neurogrid-ai-exchange/neurogrid-agent:latest --token ng_live_xxxxxxxx

然后看它注册的过程:

docker logs -f neurogrid-agent

找 Bootstrap sent successfully,然后是每 30 秒出现一次的 Heartbeat sent successfully。

那些看起来像 Unix 的路径是对的

/var/run/docker.sock 和 /var/lib/neurogrid/workloads 不是 Windows 路径,你也不需要创建它们。它们是在 Docker Desktop 的 Linux 虚拟机内部解析 的,代理容器和 Docker 守护进程都运行在那里面。

让机器保持唤醒​

一台进入睡眠的 Windows 笔记本会停止服务,正在进行的任务也会失败。在让一台 主机持续运行之前:

  • 设置 → 系统 → 电源和电池 → 屏幕和睡眠——在接通电源时把睡眠设置为 永不。
  • 如果机器会无人值守地重启,关闭快速启动(控制面板 → 电源选项 → 选择电源按钮的功能)。

Docker Desktop 必须保持运行​

代理是一个容器,所以它只在 Docker Desktop 运行时才会运行。打开登录时启 动 Docker Desktop(设置 → 常规),并注意这意味着机器在重启后需要有人登 录——无人值守的主机更适合用 Linux。

接下来​