用 Docker 搭一个能自动上网干活的 AI 浏览器:部署命令一次给全
AI浏览器 Docker部署教程|附完整命令
随着大模型能力的快速发展,“AI浏览器”逐渐成为许多开发者和效率用户关注的工具。它不仅仅是一个普通浏览器,而是结合了大语言模型、网页自动化、智能检索、任务执行等能力的智能化浏览环境。通过 AI 浏览器,我们可以让 AI 自动打开网页、搜索信息、填写表单、提取页面内容,甚至完成一些重复性的网页操作任务。
对于个人用户和团队来说,使用 Docker 部署 AI 浏览器是非常推荐的方式。相比直接在本机安装 Python、Node.js、浏览器驱动等复杂环境,Docker 可以将运行环境统一封装,减少依赖冲突,提高部署成功率,也方便迁移和维护。
本文将以通用的 AI 浏览器 WebUI 项目部署思路为例,详细介绍如何在服务器或本地电脑上使用 Docker 部署 AI 浏览器,并附上完整命令,适合新手一步步操作。
一、什么是 AI 浏览器?
AI 浏览器可以简单理解为:
一个由大语言模型驱动,可以自动浏览网页、理解页面内容并执行操作的智能浏览器系统。
它通常包含以下能力:
-
网页浏览能力
可以打开指定网址、点击按钮、输入文本、切换页面等。 -
AI 推理能力
通过接入 OpenAI、Claude、Gemini、Ollama、DeepSeek 等大模型接口,理解用户任务并规划操作步骤。 -
自动化执行能力
基于 Playwright、Chromium、Selenium 等浏览器自动化工具,模拟真实用户操作。 -
Web 可视化界面
用户可以在浏览器中输入任务,让 AI 执行,例如:“打开某网站,搜索 Docker 教程,并总结结果”。 -
本地或服务器部署能力
可以部署在个人电脑、NAS、云服务器、开发机上,方便长期使用。
二、为什么推荐使用 Docker 部署?
AI 浏览器通常依赖较多组件,例如:
- Python 环境
- Node.js 环境
- Playwright
- Chromium 浏览器
- 浏览器驱动
- 大模型 API Key
- WebUI 前端服务
- 后端接口服务
如果手动安装,可能会遇到各种问题,例如版本不兼容、依赖安装失败、浏览器缺少系统库等。
使用 Docker 部署有以下优点:
1. 环境隔离
Docker 容器内有独立运行环境,不会污染宿主机系统。
2. 部署简单
只需要几条命令即可启动,不需要手动配置复杂依赖。
3. 方便迁移
换服务器时,只需要拷贝配置文件和数据目录即可。
4. 便于升级
更新镜像后重启容器即可完成升级。
5. 适合长期运行
可以配合 Docker Compose、systemd、Nginx 反向代理等方式稳定运行。
三、部署前准备
在开始之前,请确保你已经准备好以下环境。
1. 一台服务器或本地电脑
推荐配置如下:
| 项目 | 推荐配置 |
|---|---|
| CPU | 2 核及以上 |
| 内存 | 4GB 及以上,推荐 8GB |
| 磁盘 | 20GB 以上可用空间 |
| 系统 | Ubuntu 20.04 / 22.04 / Debian / CentOS / macOS / Windows |
如果只是个人测试,本地电脑也可以部署;如果希望长期在线使用,建议部署到云服务器或家用 NAS。
2. 安装 Docker
如果你的系统还没有安装 Docker,可以按照下面的命令安装。
Ubuntu / Debian 安装 Docker
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安装完成后,检查 Docker 是否可用:
docker version
检查 Docker Compose 是否可用:
docker compose version
启动 Docker 并设置开机自启:
sudo systemctl enable docker
sudo systemctl start docker
如果你希望当前用户不用每次都输入 sudo,可以执行:
sudo usermod -aG docker $USER
执行后需要退出当前终端重新登录,或者重启服务器。
四、创建 AI 浏览器部署目录
建议将 AI 浏览器部署在 /opt/ai-browser 目录下,方便管理。
sudo mkdir -p /opt/ai-browser
sudo chown -R $USER:$USER /opt/ai-browser
cd /opt/ai-browser
创建必要的数据目录:
mkdir -p data
mkdir -p logs
mkdir -p browser-profile
目录说明:
/opt/ai-browser
├── data # 应用数据目录
├── logs # 日志目录
├── browser-profile # 浏览器用户数据目录
├── .env # 环境变量配置文件
└── docker-compose.yml
五、准备大模型 API Key
AI 浏览器本身并不等于大模型,它通常需要接入一个大模型服务才能工作。你可以选择以下模型服务:
- OpenAI
- Azure OpenAI
- Anthropic Claude
- Google Gemini
- DeepSeek
- Moonshot Kimi
- 阿里通义千问
- 智谱 GLM
- 本地 Ollama 模型
如果你只是想快速测试,可以使用兼容 OpenAI API 格式的模型服务,例如 DeepSeek、Moonshot、通义千问等。
本文以 OpenAI 兼容接口为例进行配置。
你需要准备以下内容:
OPENAI_API_KEY=你的API密钥
OPENAI_BASE_URL=模型接口地址
OPENAI_MODEL=模型名称
例如使用 OpenAI 官方接口:
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_MODEL=gpt-4o-mini
例如使用 DeepSeek 兼容接口:
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
OPENAI_BASE_URL=https://api.deepseek.com/v1
OPENAI_MODEL=deepseek-chat
注意:不同平台的接口地址和模型名称可能会变化,请以对应平台官方文档为准。
六、编写 .env 配置文件
在 /opt/ai-browser 目录下创建 .env 文件:
cd /opt/ai-browser
nano .env
写入以下内容:
# =========================
# AI Browser 基础配置
# =========================
# WebUI 服务端口
WEBUI_PORT=7788
# 是否开启调试模式
DEBUG=false
# =========================
# 大模型配置
# =========================
# OpenAI 兼容 API Key
OPENAI_API_KEY=sk-你的API密钥
# OpenAI 兼容接口地址
OPENAI_BASE_URL=https://api.openai.com/v1
# 默认使用的模型
OPENAI_MODEL=gpt-4o-mini
# =========================
# 浏览器配置
# =========================
# 是否使用无头浏览器模式
# true 表示不显示浏览器界面,适合服务器部署
# false 表示显示浏览器界面,适合本地调试
BROWSER_HEADLESS=true
# 浏览器用户数据目录
BROWSER_PROFILE_DIR=/app/browser-profile
# 任务超时时间,单位秒
TASK_TIMEOUT=300
# =========================
# 安全配置
# =========================
# WebUI 登录用户名
WEBUI_USERNAME=admin
# WebUI 登录密码,建议修改为复杂密码
WEBUI_PASSWORD=please_change_this_password
保存文件。
如果使用 nano 编辑器,保存方式为:
Ctrl + O
回车
Ctrl + X
七、编写 Docker Compose 文件
继续在 /opt/ai-browser 目录下创建 docker-compose.yml 文件:
nano docker-compose.yml
写入以下配置:
services:
ai-browser:
image: ghcr.io/browser-use/web-ui:latest
container_name: ai-browser
restart: unless-stopped
env_file:
- .env
ports:
- "${WEBUI_PORT:-7788}:7788"
volumes:
- ./data:/app/data
- ./logs:/app/logs
- ./browser-profile:/app/browser-profile
shm_size: "2gb"
environment:
- TZ=Asia/Shanghai
- OPENAI_API_KEY=${OPENAI_API_KEY}
- OPENAI_BASE_URL=${OPENAI_BASE_URL}
- OPENAI_MODEL=${OPENAI_MODEL}
- BROWSER_HEADLESS=${BROWSER_HEADLESS}
- BROWSER_PROFILE_DIR=${BROWSER_PROFILE_DIR}
- TASK_TIMEOUT=${TASK_TIMEOUT}
- WEBUI_USERNAME=${WEBUI_USERNAME}
- WEBUI_PASSWORD=${WEBUI_PASSWORD}
security_opt:
- seccomp=unconfined
cap_add:
- SYS_ADMIN
保存并退出。
配置说明
image:使用 AI 浏览器 WebUI 镜像。container_name:容器名称,方便管理。restart: unless-stopped:容器异常退出后自动重启。ports:将宿主机端口映射到容器端口。volumes:挂载数据目录,避免容器删除后数据丢失。shm_size:增加共享内存,避免 Chromium 浏览器崩溃。security_opt和cap_add:部分浏览器自动化场景需要更高权限,尤其是 Chromium 沙箱相关操作。
八、启动 AI 浏览器
确认当前目录为 /opt/ai-browser:
cd /opt/ai-browser
拉取镜像:
docker compose pull
启动服务:
docker compose up -d
查看容器状态:
docker compose ps
如果看到类似以下状态,说明容器已经启动:
NAME IMAGE STATUS PORTS
ai-browser ghcr.io/browser-use/web-ui:latest Up 10 seconds 0.0.0.0:7788->7788/tcp
查看运行日志:
docker compose logs -f
如果日志中没有明显报错,就可以访问 WebUI。
九、访问 AI 浏览器 WebUI
在浏览器中打开:
http://服务器IP:7788
如果是在本机部署,可以访问:
http://localhost:7788
例如:
http://192.168.1.100:7788
登录时输入你在 .env 中配置的账号密码:
用户名:admin
密码:please_change_this_password
建议首次登录后尽快修改密码,或者直接修改 .env 文件中的 WEBUI_PASSWORD,然后重启容器。
十、常用管理命令
1. 查看容器状态
cd /opt/ai-browser
docker compose ps
2. 查看实时日志
cd /opt/ai-browser
docker compose logs -f
3. 停止服务
cd /opt/ai-browser
docker compose down
4. 启动服务
cd /opt/ai-browser
docker compose up -d
5. 重启服务
cd /opt/ai-browser
docker compose restart
6. 更新镜像
cd /opt/ai-browser
docker compose pull
docker compose up -d
7. 删除容器但保留数据
cd /opt/ai-browser
docker compose down
因为数据已经挂载到宿主机目录,所以删除容器不会删除 data、logs 和 browser-profile 目录。
8. 完全删除数据
如果你确定不再使用,可以执行:
cd /opt
docker compose -f /opt/ai-browser/docker-compose.yml down
sudo rm -rf /opt/ai-browser
注意:该操作会删除所有配置和数据,请谨慎执行。
十一、配置防火墙
如果你部署在云服务器上,需要放行端口 7788。
Ubuntu UFW 防火墙
sudo ufw allow 7788/tcp
sudo ufw reload
sudo ufw status
CentOS / Rocky Linux firewalld
sudo firewall-cmd --zone=public --add-port=7788/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports
云服务器安全组
如果使用阿里云、腾讯云、华为云、AWS、Azure 等云服务器,还需要在云厂商控制台的安全组中放行:
协议:TCP
端口:7788
来源:你的公网 IP 或 0.0.0.0/0
为了安全,建议不要对公网开放所有来源。如果只是自己使用,最好限制为自己的固定 IP。
十二、使用 Nginx 反向代理并配置 HTTPS
如果你希望通过域名访问 AI 浏览器,例如:
https://ai.example.com
可以使用 Nginx 进行反向代理。
1. 安装 Nginx
sudo apt update
sudo apt install -y nginx
启动 Nginx:
sudo systemctl enable nginx
sudo systemctl start nginx
2. 创建 Nginx 配置
sudo nano /etc/nginx/sites-available/ai-browser.conf
写入以下内容:
server {
listen 80;
server_name ai.example.com;
client_max_body_size 100m;
location / {
proxy_pass http://127.0.0.1:7788;
proxy_http_version 1.1;
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_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 3600;
proxy_send_timeout 3600;
}
}
启用配置:
sudo ln -s /etc/nginx/sites-available/ai-browser.conf /etc/nginx/sites-enabled/ai-browser.conf
sudo nginx -t
sudo systemctl reload nginx
3. 使用 Certbot 配置 HTTPS
安装 Certbot:
sudo apt install -y certbot python3-certbot-nginx
申请证书:
sudo certbot --nginx -d ai.example.com
按照提示输入邮箱并同意协议即可。完成后访问:
https://ai.example.com
十三、接入本地 Ollama 模型
如果你不想使用在线 API,也可以使用本地 Ollama 模型。适合对隐私要求较高,或者希望降低 API 调用成本的用户。
1. 安装 Ollama
Linux 一键安装命令:
curl -fsSL https://ollama.com/install.sh | sh
启动 Ollama:
sudo systemctl enable ollama
sudo systemctl start ollama
下载模型,例如 Qwen2.5:
ollama pull qwen2.5:7b
测试模型:
ollama run qwen2.5:7b
2. 修改 .env
如果 AI 浏览器支持 OpenAI 兼容接口,可以将配置改为 Ollama 的接口:
OPENAI_API_KEY=ollama
OPENAI_BASE_URL=http://host.docker.internal:11434/v1
OPENAI_MODEL=qwen2.5:7b
Linux 环境下,如果容器无法识别 host.docker.internal,可以在 docker-compose.yml 中增加:
extra_hosts:
- "host.docker.internal:host-gateway"
完整示例:
services:
ai-browser:
image: ghcr.io/browser-use/web-ui:latest
container_name: ai-browser
restart: unless-stopped
env_file:
- .env
ports:
- "${WEBUI_PORT:-7788}:7788"
volumes:
- ./data:/app/data
- ./logs:/app/logs
- ./browser-profile:/app/browser-profile
shm_size: "2gb"
extra_hosts:
- "host.docker.internal:host-gateway"
security_opt:
- seccomp=unconfined
cap_add:
- SYS_ADMIN
修改完成后重启:
cd /opt/ai-browser
docker compose down
docker compose up -d
十四、常见问题与解决方法
问题 1:容器启动后访问不了 WebUI
先检查容器是否正常运行:
docker compose ps
查看日志:
docker compose logs -f
检查端口是否监听:
ss -lntp | grep 7788
如果部署在云服务器上,请确认安全组和防火墙都已经放行端口。
问题 2:浏览器执行任务时报错或崩溃
Chromium 在 Docker 中运行时,常见原因是共享内存不足。请确认 docker-compose.yml 中已经配置:
shm_size: "2gb"
如果仍然报错,可以尝试将无头模式开启:
BROWSER_HEADLESS=true
然后重启:
docker compose restart
问题 3:模型调用失败
检查 .env 中的配置是否正确:
cat /opt/ai-browser/.env
确认以下三项没有写错:
OPENAI_API_KEY=你的API密钥
OPENAI_BASE_URL=接口地址
OPENAI_MODEL=模型名称
同时建议使用 curl 测试接口是否可访问,例如:
curl https://api.openai.com/v1/models \
-H "Authorization: Bearer sk-你的API密钥"
如果是其他 OpenAI 兼容服务,请将地址替换为对应平台地址。
问题 4:容器无法连接 Ollama
如果 Ollama 安装在宿主机,而 AI 浏览器运行在 Docker 容器中,容器内的 localhost 指的是容器自己,不是宿主机。
推荐使用:
OPENAI_BASE_URL=http://host.docker.internal:11434/v1
同时在 Compose 中加入:
extra_hosts:
- "host.docker.internal:host-gateway"
然后重启容器:
docker compose down
docker compose up -d
问题 5:忘记 WebUI 登录密码
如果密码写在 .env 文件中,可以直接修改:
cd /opt/ai-browser
nano .env
修改:
WEBUI_PASSWORD=新的复杂密码
然后重启服务:
docker compose restart
十五、安全建议
AI 浏览器具备网页操作能力,因此一定要注意安全。
1. 不要暴露到公网
如果没有必要,不建议直接将 7788 端口暴露到公网。可以只允许内网访问,或使用 VPN、Tailscale、ZeroTier 等方式访问。
2. 使用强密码
不要使用默认密码,例如:
admin / admin
admin / 123456
建议使用长度超过 16 位的复杂密码。
3. 限制访问来源
如果必须公网访问,建议在防火墙或云服务器安全组中限制来源 IP。
4. 配置 HTTPS
公网访问时务必配置 HTTPS,避免 API Key 或登录信息在传输过程中泄露。
5. 不要让 AI 操作敏感账户
例如网银、支付平台、企业管理后台等高风险系统,不建议交给 AI 自动操作。
6. 定期更新镜像
定期执行:
cd /opt/ai-browser
docker compose pull
docker compose up -d
保持应用和依赖处于较新版本。
十六、完整一键部署命令汇总
如果你已经安装好 Docker,可以直接使用下面的命令快速部署。
执行前请将
OPENAI_API_KEY修改为你自己的 API Key。
sudo mkdir -p /opt/ai-browser
sudo chown -R $USER:$USER /opt/ai-browser
cd /opt/ai-browser
mkdir -p data logs browser-profile
cat > .env <<'EOF'
WEBUI_PORT=7788
DEBUG=false
OPENAI_API_KEY=sk-请替换为你的API密钥
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_MODEL=gpt-4o-mini
BROWSER_HEADLESS=true
BROWSER_PROFILE_DIR=/app/browser-profile
TASK_TIMEOUT=300
WEBUI_USERNAME=admin
WEBUI_PASSWORD=please_change_this_password
EOF
cat > docker-compose.yml <<'EOF'
services:
ai-browser:
image: ghcr.io/browser-use/web-ui:latest
container_name: ai-browser
restart: unless-stopped
env_file:
- .env
ports:
- "${WEBUI_PORT:-7788}:7788"
volumes:
- ./data:/app/data
- ./logs:/app/logs
- ./browser-profile:/app/browser-profile
shm_size: "2gb"
environment:
- TZ=Asia/Shanghai
- OPENAI_API_KEY=${OPENAI_API_KEY}
- OPENAI_BASE_URL=${OPENAI_BASE_URL}
- OPENAI_MODEL=${OPENAI_MODEL}
- BROWSER_HEADLESS=${BROWSER_HEADLESS}
- BROWSER_PROFILE_DIR=${BROWSER_PROFILE_DIR}
- TASK_TIMEOUT=${TASK_TIMEOUT}
- WEBUI_USERNAME=${WEBUI_USERNAME}
- WEBUI_PASSWORD=${WEBUI_PASSWORD}
security_opt:
- seccomp=unconfined
cap_add:
- SYS_ADMIN
EOF
docker compose pull
docker compose up -d
docker compose ps
部署完成后访问:
http://服务器IP:7788
十七、总结
通过 Docker 部署 AI 浏览器,可以大幅降低环境配置难度,让我们更快体验 AI 自动浏览网页、执行任务、整理信息的能力。本文从 Docker 安装、目录创建、环境变量配置、Docker Compose 编写、服务启动、反向代理、Ollama 本地模型接入、常见问题排查到安全建议,完整介绍了一套可落地的部署流程。
如果你只是个人测试,可以直接使用 http://localhost:7788 或服务器 IP 访问;如果用于长期使用,建议搭配 Nginx、HTTPS、强密码和访问限制,提升安全性和稳定性。
最后提醒一点:AI 浏览器虽然很强大,但它并不适合完全无监督地操作敏感业务。更合理的使用方式是让 AI 辅助完成搜索、整理、页面读取、重复性操作等低风险任务,而涉及资金、账号权限、企业核心数据的操作,仍应由人工确认后执行。