
前提条件WSLWindows Subsystem for Linux中 Docker 的运行机制和原生 Linux 不同不能直接用systemctl管理 Docker 服务需要结合 Windows 端的 Docker Desktop 来解决。首先确保你已安装Windows 端的 Docker Desktop官网下载https://www.docker.com/products/docker-desktop/WSL 2 已启用而非 WSL 1步骤 1配置 Docker Desktop 支持 WSL打开 Docker Desktop点击右上角设置图标⚙️选择左侧的 Resources WSL Integration勾选你正在使用的 WSL 发行版比如 Ubuntu并确保 Enable integration with my default WSL distro 已勾选点击 Apply Restart 保存配置并重启 Docker Desktop一、版本要求docker版本大20.0docker compose版本2.0# 查看docker版本 docker -v # 查看docker compose版本 docker compose version二、创建openclaw-docker文件夹# 到用户跟目录 cd ~ # 创建openclaw-docker文件夹 并且 进入openclaw-docker目录 mkdir openclaw-docker cd openclaw-docker # 赋予目录读写权限避免后续容器无权限访问 chmod -R 755 ~/openclaw-docker三、创建Docker Compose核心配置文件Docker Compose配置文件docker-compose.yml是部署核心用于定义镜像、端口、数据卷、环境变量等关键参数# 创建并编辑docker-compose.yml文件 vim docker-compose.yml将以下配置粘贴至文件中按ESC:wq保存退出services: openclaw: image: openclaw/openclaw:latest # 拉取OpenClaw最新稳定版镜像 container_name: openclaw # 容器名称固定为openclaw便于管理 ports: - 3000:3000 # 端口映射宿主机3000→容器3000 volumes: - ./data:/app/data # 数据卷存储工作数据、AI记忆、运行日志 - ./config:/app/config # 配置卷存储自定义配置文件 - /var/run/docker.sock:/var/run/docker.sock # 访问宿主机Docker服务 environment: - NODE_ENVproduction # 运行环境生产环境设为production - TZAsia/Shanghai # 时区设置替换为上海时区默认UTC - OPENCLAW_PORT3000 # 服务端口与端口映射保持一致 - OPENCLAW_HOST0.0.0.0 # 绑定地址0.0.0.0允许所有IP访问 restart: unless-stopped # 重启策略异常退出时自动重启 networks: - openclaw-net # 自定义网络隔离容器通信 # 自定义桥接网络避免与宿主机网络冲突 networks: openclaw-net: driver: bridge name: openclaw-net # 显式指定网络名称便于管理新增优化项四、启动服务docker-compose up -d五、检查服务状态# 查看容器运行状态显示Up即为正常 docker-compose ps # 查看宿主机端口占用确认3000端口已被Docker占用 netstat -tulpn | grep 3000 # 执行健康检查返回ok即为服务正常 curl http://localhost:3000/health