面向服务端浏览器自动化的 DICloak Agent Docker 镜像

在 Docker 中运行 DICloak Agent,适用于 Headless 和服务端自动化流程。通过 52100 暴露 Agent API,转发 45000-45099 CDP 端口,将运行数据持久化到 /dicloak/data,并通过返回的 webSocketDebuggerUrl 连接 Playwright 或 Puppeteer。

4 步启动 DICloak Agent 容器

1

拉取 Agent 镜像

从 Docker Hub 拉取 dicloakinc/dicloak-agent-image:latest。浏览器内核按需下载,所以首次打开环境可能耗时更长。

2

使用 Docker Compose 启动

通过 Compose 配置 TOKEN 或 USER_EMAIL 与 USER_PASSWD、AGENT_PORT=52100、DOCKER=1,并挂载持久化 /dicloak/data 数据目录。

3

验证 Agent API

访问 http://127.0.0.1:52100/agent/status 和 /agent/user-info,确认就绪状态、登录状态、运行环境数量和内核下载进度。

4

打开环境并连接

通过现有 DICloak Local API 流程打开浏览器环境,读取 debug_port,先请求 /json/version,再使用 webSocketDebuggerUrl 连接 Playwright 或 Puppeteer。

为什么用 Docker 部署 DICloak Agent?

Docker 让服务端自动化拥有可复现的运行时、可持久化的登录会话和清晰的网络边界。

传统痛点

  • 桌面安装难以在 CI、云服务器和长期运行的自动化主机之间复现。

  • 浏览器自动化需要登录会话和环境数据在重启后继续可用,而不是依赖人工修复。

  • 如果没有清晰的宿主机绑定,CDP 端口和本地 API 暴露会带来安全风险。

  • 使用错误的账号类型可能干扰团队活跃会话,也会让凭据轮换变得混乱。

Docker Agent 方案

  • 可复现的 Agent 运行时

    在开发、测试、生产环境中部署同一个 dicloak-agent-image,并用 Compose 管理配置。

  • 持久化环境数据

    将内核、user-data、扩展、日志和缓存保存到挂载的 /dicloak/data 目录,方便安全复用会话。

  • 明确的端口边界

    通过 52100 发布 Agent API,并默认只将 45000-45099 的 CDP 端口段绑定到 localhost,除非你的网络设计另有要求。

  • 更清晰的账号运维

    使用专用内部成员账号运行 Docker,让权限归属、操作责任和凭据轮换更容易管理。

Docker 中的核心 Agent 能力

面向生产环境的 DICloak Agent 运行时,支持持久登录浏览器会话、环境隔离和 CDP 自动化。

52100 端口上的 Agent API

容器通过 52100 暴露 HTTP Agent API,可用于状态检查、账号会话确认,并配合你的 Local API 自动化流程。

转发 CDP 端口段

浏览器调试端口通过 45000-45099 转发。连接自动化框架前,请先在返回的 debug_port 上请求 /json/version。

运行数据持久化

挂载 /dicloak/data,持久保存下载后的浏览器内核、环境 user-data 目录、扩展、日志和运行缓存。

安全的账号部署

建议使用具备 Local API 或 Docker 权限的专用成员账号。不要在缺少防火墙、VPN 或反向代理保护时把 52100 暴露到公网。

最多 100 个浏览器会话

映射的 CDP 端口段最多支持 100 个并发浏览器实例,每个活跃环境都会分配独立 debug_port。

Docker Compose 生命周期管理

使用 Compose 模板统一管理镜像更新、重启策略、资源限制、共享内存、宿主机代理复用和稳定运行参数。

推荐使用 Docker Compose 部署

当前 Agent 镜像需要 Compose 管理登录变量、52100 Agent API 端口、CDP 转发端口和 /dicloak/data 持久化存储。

docker-compose.ymlYAML
services:
dicloak-agent:
image: ${DICLOAK_AGENT_IMAGE:-dicloakinc/dicloak-agent-image:latest}
restart: unless-stopped
init: true
environment:
TOKEN: ${DICLOAK_TOKEN:-}
USER_EMAIL: ${DICLOAK_USER_EMAIL:-}
USER_PASSWD: ${DICLOAK_USER_PASSWD:-}
AGENT_PORT: ${DICLOAK_AGENT_PORT:-52100}
DOCKER: 1
BACKEND_URL: ${DICLOAK_BACKEND_URL:-https://gin-server.dicloak.com/gin}
AUTH_MODE: ${DICLOAK_AUTH_MODE:-remote}
CACHE_BASE_DIR: /dicloak/data
ports:
- '${DICLOAK_AGENT_PORT:-52100}:52100'
- '127.0.0.1:45000-45099:45000-45099'
volumes:
- ${DICLOAK_DATA_DIR:-./data}:/dicloak/data
- /etc/localtime:/etc/localtime:ro
shm_size: 1gb

登录变量

选择 TOKEN 或 USER_EMAIL 加 USER_PASSWD。如果同时提供 Token 和邮箱密码,Agent 会优先使用邮箱密码登录。

持久化 /dicloak/data

使用宿主机 bind mount 保存下载内核、环境 user-data、扩展、日志和缓存。多个实例必须使用不同宿主机数据目录。

安全端口映射

映射 52100 用于 Agent API,并默认将 45000-45099 绑定到 127.0.0.1。如果 52100 可被公网访问,必须增加网络层保护。

一条命令管理生命周期

运行 docker compose up -d 启动,docker compose pull 更新,并用 docker compose logs -f dicloak-agent 查看运行日志。

团队在用 DICloak Agent Docker 构建什么?

Agent 镜像适用于需要稳定浏览器身份、持久会话和 CDP 连接能力的服务端自动化场景。

AI Agent 浏览器会话

为 AI Agent 提供可持久化的登录浏览器会话,并在服务端流程中通过 CDP 重新打开和控制。

浏览器自动化服务

在服务器上使用 Playwright 或 Puppeteer 操作 DICloak 环境,同时保持指纹、存储和环境身份隔离。

CI 和定时任务

用可复现容器运行定时浏览器任务、回归检查或需要稳定环境状态的服务端流程。

多账号业务

为多个账号运行独立浏览器环境,持久保存 user-data 目录,降低跨会话干扰。

广告与内容验证

通过 Local API 流程打开环境,使用受控浏览器会话检查区域页面、广告投放和登录态体验。

电商监控

借助持久浏览器环境和受控 CDP 连接,监控区域定价、库存、促销和账号相关页面。

集成自动化和 Agent 工具链

当你的 Local API 流程打开浏览器环境后,DICloak Agent Docker 可与兼容 CDP 的框架和服务端自动化栈配合使用。

Playwright
Puppeteer
Selenium
OpenAI Agents
Claude MCP
Gemini
Docker Compose
Kubernetes
GitHub Actions
AWS ECS
立即开始使用 DICloak Agent Docker

Docker Hub: dicloakinc/dicloak-agent-image