上一篇 下一篇 分享链接 返回 返回顶部

用 Docker 搭一个能自动上网干活的 AI 浏览器:部署命令一次给全

发布人:慈云数据-客服中心 发布时间:14小时前 阅读量:2

AI浏览器 Docker部署教程|附完整命令

随着大模型能力的快速发展,“AI浏览器”逐渐成为许多开发者和效率用户关注的工具。它不仅仅是一个普通浏览器,而是结合了大语言模型、网页自动化、智能检索、任务执行等能力的智能化浏览环境。通过 AI 浏览器,我们可以让 AI 自动打开网页、搜索信息、填写表单、提取页面内容,甚至完成一些重复性的网页操作任务。

对于个人用户和团队来说,使用 Docker 部署 AI 浏览器是非常推荐的方式。相比直接在本机安装 Python、Node.js、浏览器驱动等复杂环境,Docker 可以将运行环境统一封装,减少依赖冲突,提高部署成功率,也方便迁移和维护。

本文将以通用的 AI 浏览器 WebUI 项目部署思路为例,详细介绍如何在服务器或本地电脑上使用 Docker 部署 AI 浏览器,并附上完整命令,适合新手一步步操作。


一、什么是 AI 浏览器?

AI 浏览器可以简单理解为:

一个由大语言模型驱动,可以自动浏览网页、理解页面内容并执行操作的智能浏览器系统。

它通常包含以下能力:

  1. 网页浏览能力
    可以打开指定网址、点击按钮、输入文本、切换页面等。

  2. AI 推理能力
    通过接入 OpenAI、Claude、Gemini、Ollama、DeepSeek 等大模型接口,理解用户任务并规划操作步骤。

  3. 自动化执行能力
    基于 Playwright、Chromium、Selenium 等浏览器自动化工具,模拟真实用户操作。

  4. Web 可视化界面
    用户可以在浏览器中输入任务,让 AI 执行,例如:“打开某网站,搜索 Docker 教程,并总结结果”。

  5. 本地或服务器部署能力
    可以部署在个人电脑、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_optcap_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

因为数据已经挂载到宿主机目录,所以删除容器不会删除 datalogsbrowser-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 辅助完成搜索、整理、页面读取、重复性操作等低风险任务,而涉及资金、账号权限、企业核心数据的操作,仍应由人工确认后执行。

目录结构
全文