内外网物理隔离的企业内网部署小龙虾 OpenClaw(1):环境筑基篇
副标题:基于 Hyper-V 虚拟机与 Ubuntu Docker 的“飞地”架构设计
撰写时间: 2026年03月27日
适用环境: 外网 Win10 + 内网 WinServer 2019 + 物理隔离 + OpenClaw (OpenWebUI等)
📝 前言
在企业内网物理隔离的环境下,既要保证服务的稳定性,又要兼顾开发部署的便捷性,是一个典型的“孤岛”运维场景。传统的 Windows 容器兼容性差,而 WSL2 在 Server 2019 上配置复杂且不稳定。
本文记录了一种**“Windows 宿主机 + Hyper-V Linux 虚拟机 + Docker 原生环境”**的最优解架构。我们将内网 Windows Server 2019 变为一个强大的虚拟化底座,利用 Ubuntu 虚拟机为 OpenClaw 提供完美的 Linux 运行时环境。
🏗️ 第一部分:核心架构设计
在设计之初,我们确立了以下技术栈,以确保在无外网环境下依然能获得最佳的 Linux 容器体验。
| 组件 | 选型 | 理由 |
|---|---|---|
| 物理宿主机 | Windows Server 2019 | 企业标准服务器系统,自带 Hyper-V,无需额外安装第三方虚拟机软件。 |
| 虚拟化层 | Hyper-V (Generation 2) | 微软原生虚拟化,性能损耗极低,支持 UEFI 快速启动,且在 Server 版本中支持最完善。 |
| 客户机 OS | Ubuntu 22.04 LTS Server | 长期支持版本,资源占用低(无 GUI),Docker 兼容性最好,社区支持最广。 |
| 运行时 | Docker Engine (Linux) | 原生 Linux Docker,避免了 Windows 容器对 Linux 应用的兼容性黑洞。 |
| 目标应用 | OpenClaw + PG + Redis | 标准的容器化 AI 应用栈。 |
📦 第二部分:外网机器准备工作 (Win10)
由于内网完全断网,所有依赖必须在 Win10 上预先下载并打包。
1. 操作系统镜像准备
- 下载文件:
ubuntu-22.04-live-server-amd64.iso - 来源: Ubuntu 官方镜像站。
- 安装 WSL | Microsoft Learn
- 旧版 WSL 的手动安装步骤 | Microsoft Learn
2. Docker 离线安装包构建
不要试图在内网使用 apt,必须准备 .deb 离线包。
- 操作步骤:
- 在 Win10 上安装 Docker Desktop 或使用一台联网的 Ubuntu 机器。
- 访问 Docker 官方仓库,下载以下核心包及其依赖(注意:必须匹配 Ubuntu 22.04 的架构):
docker-cedocker-ce-clicontainerd.iodocker-compose-plugin- NVIDIA Container Toolkit
- 关键依赖: 使用
apt-rdepends或手动下载libc6,libseccomp2,pigz,xz-utils等基础依赖包。 - 打包: 将所有
.deb文件放入文件夹docker-debs。
3. OpenClaw 镜像构建与导出
为了避免在内网安装 Node.js 依赖和 Playwright 浏览器内核(极其耗时且需要网络),必须在外部构建好镜像。
- 构建: 在 Win10 的 Docker Desktop 中构建 OpenClaw 镜像。
docker build -t openclaw:v1 . - 导出:
# 导出应用镜像 docker save -o openclaw-image.tar openclaw:v1 # 导出依赖镜像 (Postgres & Redis) docker pull postgres:15-alpine docker pull redis:7-alpine docker save -o db-images.tar postgres:15-alpine redis:7-alpine
4. 资源包汇总 (DeployPackage)
将以下文件刻录至移动硬盘或通过摆渡机传输:
ubuntu-22.04-live-server-amd64.isodocker-debs/(文件夹)openclaw-image.tardb-images.taropenclaw-source/(含docker-compose.yml和.env的源码文件夹)
⚙️ 第三部分:内网机器环境部署 (WinServer 2019)
1. 启用 Hyper-V 角色
以管理员身份运行 PowerShell:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
重启后,打开“Hyper-V 管理器”。
2. 创建 Ubuntu 虚拟机 (Generation 2)
- 代数: 第二代 (支持 UEFI,启动快)。
- 内存: 建议 8GB - 16GB (OpenClaw + 数据库内存占用较高)。
- 网络配置 (关键):
- 创建 外部虚拟交换机,绑定到服务器物理网卡。
- 勾选: “允许管理操作系统共享此网络适配器” (防止宿主机断网)。
- 效果: Ubuntu 将获得与宿主机同网段的 IP,内网其他同事可直接通过 IP 访问 OpenClaw。
- 硬盘: 动态扩展,建议 100GB+ (模型缓存和日志会占用空间)。
3. 安装 Ubuntu Server
- 启动虚拟机安装 ISO。
- 网络: 建议配置为 静态 IP (例如
192.168.1.200),方便内网服务固定访问。 - 软件选择: 务必勾选 OpenSSH Server (方便后续使用 XShell/Putty 管理,无需切窗口操作)。
🐳 第四部分:Ubuntu 内 Docker 与服务部署
1. 离线安装 Docker
将 docker-debs 上传至 Ubuntu,执行:
cd /path/to/docker-debs
sudo dpkg -i *.deb
若报依赖错误,需补全缺失的 .deb 包。
启动服务:
sudo systemctl enable --now docker
sudo usermod -aG docker $USER # 重新登录生效
2. 导入镜像
上传 openclaw-image.tar 和 db-images.tar:
docker load -i openclaw-image.tar
docker load -i db-images.tar
执行 docker images 验证是否加载成功。
3. 启动服务
上传 openclaw-source,修改配置:
- 端口映射: 确保
docker-compose.yml中映射了 Web 端口(如18789:18789)。 - 模型配置: 若内网部署了 Ollama,需将
LLM_BASE_URL指向宿主机或模型服务器的内网 IP。
启动命令:
docker compose up -d
⚠️ 第五部分:关键避坑指南 (Troubleshooting)
-
BIOS 设置:
- 确保物理服务器 BIOS 开启了 VT-x / AMD-V 虚拟化支持。
- 如果虚拟机报错,可能需要开启嵌套虚拟化(虽然 Docker 不需要,但有时会影响检测):
Set-VMProcessor -VMName "UbuntuVM" -ExposeVirtualizationExtensions $true
-
内存不足预警:
- Windows Server 2019 自身占用约 2-4GB,Ubuntu 约 1GB,Docker 服务至少需要 4GB+。
- 建议: 若物理内存仅为 16GB,建议在
docker-compose.yml中为 PostgreSQL 和 OpenClaw 设置mem_limit,防止 OOM (内存溢出) 导致服务崩溃。
-
时间同步问题:
- 虚拟机时间容易漂移,导致 API 请求签名失败。
- 解决: 在 Ubuntu 中安装
chrony并指向内网 NTP 服务器,或在 Hyper-V 设置中关闭“时间同步集成服务”。
-
防火墙策略:
- Windows 防火墙: 确保放行 Ubuntu 虚拟机的通信端口。
- Ubuntu 防火墙 (UFW): 若开启,需放行 Docker 端口(默认
2376-2377,18789等)。
结语:
通过这种架构,我们成功在内网 WinServer 2019 上构建了一个“Linux 原生”的 AI 服务环境。OpenClaw 现已稳定运行,内网用户可通过浏览器直接访问这只“小龙虾”!
更多推荐



所有评论(0)