Docker 环境下浏览器自动化的踩坑与解决方案

9 阅读1分钟

最近在折腾 Docker 环境下的浏览器自动化,踩了不少坑,记录一下。

背景

想在 Docker 容器里通过 AI 控制浏览器完成自动化任务,比如填表、截图等。本来以为装个 Playwright 就搞定了,结果发现没那么简单。

坑点一:系统依赖缺失

Chromium 缺少运行时依赖库。需要安装:libnss4 libnspr4 libasound2 等。

坑点二:Sandbox 模式

需要加 --no-sandbox 参数才能运行。

坑点三:登录状态持久化

每次新建 Chrome 实例登录状态都会丢失。要用 PersistentContext 保存状态。

坑点四:Docker 网络隔离

容器和宿主机网络隔离,需要配置 host.docker.internal 或端口映射。

总结

核心就几点:装依赖、关 sandbox,用 PersistentContext,注意网络配置。