openclaw 通过 docker 部署后需用 nginx 反向代理绑定自定义域名:先配置 dns 解析,再创建专用 docker 网络,启动 openclaw 容器并加入该网络(含 host.docker.internal 支持),最后部署 nginx 容器挂载 proxy 配置,即可通过域名访问 web ui。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw 是一个开源的多模态 AI Agent 框架,常用于视觉理解与自动化任务执行。当你用 Docker 启动 OpenClaw 后,默认只能通过 localhost:3000 访问 Web UI,若想用自定义域名(如 openclaw.example.com)访问,必须借助反向代理完成域名绑定,不能直接在容器内改 host 或硬编码 IP。
准备域名与 DNS 解析
确保你已拥有一个可管理的域名(如 example.com),并在域名控制台添加一条 A 记录,将子域名(如 openclaw.example.com)指向你的服务器公网 IP。等待 DNS 生效(通常 1–30 分钟),用 ping openclaw.example.com 或 dig openclaw.example.com +short 验证是否返回正确 IP。
这一步没做完,后续所有配置都无效——【DNS 解析未生效时,Nginx 会 502 或 503,别跳过】。
创建专用 Docker 网络
运行命令创建隔离网络,让 OpenClaw 容器和 Nginx 容器能互相通信:
docker network create openclaw-net
启动 OpenClaw 容器并接入网络
使用官方镜像启动,关键点有三:指定网络、暴露内部端口、启用 host.docker.internal 解析(用于容器内调用宿主机服务):
docker run -d \--name openclaw-app \--network=openclaw-net \--add-host host.docker.internal:host-gateway \-p 3000:3000 \-e OPENCLAW_PORT=3000 \ghcr.io/ai-act/OpenClaw:latest
注意:不要映射其他端口(如 8000 或 5000),OpenClaw Web UI 固定走 3000;【--add-host host.docker.internal:host-gateway 必须加,否则 Agent 内部工具链可能无法访问宿主机资源】。
配置 Nginx 反向代理
新建本地文件 openclaw.conf,内容如下(替换 openclaw.example.com 为你的实际域名):
server { listen 80; server_name openclaw.example.com; location / { proxy_pass http://openclaw-app:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }}
运行 Nginx 容器并挂载配置
用以下命令启动 Nginx,它会读取你刚写的 openclaw.conf 并加入同一网络:
docker run -d \--name nginx-proxy \--network=openclaw-net \-v $(pwd)/openclaw.conf:/etc/nginx/conf.d/default.conf:ro \-p 80:80 \-p 443:443 \--restart=unless-stopped \nginx
此时访问 http://openclaw.example.com 即可看到 OpenClaw 登录页。若需 HTTPS,先用 Certbot 生成证书,再把 ssl_certificate 和 ssl_certificate_key 指令加入 server 块,并将证书路径挂载进容器。










