Playwright MCP Docker 部署:mcr 镜像、浏览器工具和权限配置

这次记录 Playwright MCP 的 Docker 部署方式。目标不是把浏览器自动化讲成概念,而是给 AI Agent 准备一个可控的浏览器工具运行时:镜像先拉下来,MCP JSON 能启动,截图和日志有目录,网络和账号边界能提前写清。

先做镜像预检:

docker pull mcr.1ms.run/playwright/mcp

mcr.1ms.run/playwright/mcp 对应上游 MCR 镜像入口。这里先确认 Registry 入口和镜像拉取链路,再继续排 MCP 配置和浏览器权限。

1. 环境目标

本文目标:

  • 用 Docker 运行 Playwright MCP Server。
  • 通过 MCP 客户端配置 mcpServers.playwright
  • 把浏览器工具限制在可控容器生命周期里。
  • 为截图、trace、下载文件预留输出目录。
  • 上线前检查账号、网络、凭据和资源限制。

适用场景:

  • AI Agent 做内部后台巡检。
  • 回归测试里补一层浏览器路径检查。
  • Bug 复现时截图和记录页面状态。
  • 测试环境里跑低风险表单流程。

2. 最小 MCP JSON

先用最小参数验证:

{
  "mcpServers": {
    "playwright": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--init",
        "--name",
        "playwright-mcp",
        "mcr.1ms.run/playwright/mcp"
      ]
    }
  }
}

参数说明:

参数作用
run启动容器
-iMCP stdio 通信需要保持输入流
--rm退出后清理容器
--init处理容器内子进程
--name便于排查容器状态
mcr.1ms.run/playwright/mcpPlaywright MCP 镜像入口

3. 增加输出目录

如果需要保存截图、trace 或下载文件,可以给容器挂一个输出目录:

mkdir -p mcp-output
{
  "mcpServers": {
    "playwright": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--init",
        "--name",
        "playwright-mcp",
        "-v",
        "./mcp-output:/tmp/mcp-output",
        "mcr.1ms.run/playwright/mcp"
      ]
    }
  }
}

输出目录要按项目隔离,不要把浏览器下载目录直接挂到用户主目录。

4. 增加资源边界

浏览器容器可能吃 CPU 和内存,建议在测试机上加资源边界:

{
  "mcpServers": {
    "playwright": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--init",
        "--name",
        "playwright-mcp",
        "--cpus",
        "2",
        "--memory",
        "2g",
        "mcr.1ms.run/playwright/mcp"
      ]
    }
  }
}

资源值要按页面复杂度调整。后台页面截图、简单表单和完整 E2E 测试的资源消耗差异很大。

5. 验证顺序

建议按下面顺序排:

docker pull mcr.1ms.run/playwright/mcp
docker images | grep playwright
docker ps -a | grep playwright-mcp

如果 MCP 客户端无法调用工具,先看三类问题:

现象排查方向
客户端找不到 serverJSON 路径、字段名、客户端重载
容器启动后退出Docker args、镜像版本、容器日志
浏览器动作失败测试账号、目标 URL、页面权限
截图没有产物输出目录挂载和工具参数
页面能打开但不能操作元素选择、登录态、权限和弹窗

6. 权限检查表

检查项建议
账号只给测试账号或低权限账号
域名控制访问域名和内网段
输出截图、trace、下载目录单独管理
凭据不把 Cookie、Token 写进截图和日志
操作删除、支付、批量修改等动作默认关闭
审计记录任务、时间、页面路径和输出文件

总结

Playwright MCP 解决的是 Agent 操作浏览器的工具接口问题,Docker 解决的是运行时边界问题。部署时不要只看镜像是否能拉下来,还要把 MCP JSON、容器生命周期、输出目录、账号权限和网络范围一起检查。

毫秒镜像在这里的作用很具体:当镜像来自 MCR 时,用 mcr.1ms.run/playwright/mcp 先做拉取预检。镜像阶段通过后,后面的重点是浏览器工具边界。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木雷坞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值