在 Docker 中的 Apache Airflow 中设置 playwright 的最佳方法是什么?

W1c*_*k3d 6 python docker dockerfile docker-compose airflow

我被要求学习Docker,以便我们最终可以在Apache AirflowDocker + Kubernetes 集群中设置我们的网络抓取脚本。如果我错误地使用了这些术语,那是因为我是 Docker 的初学者。我不知道一大堆,但我会尽力解释细节。

Apache Airflow到目前为止,我已经使用过他们自己的镜像,但他们的解释表明,安装软件包的唯一方法pythonpip install --user -r requirements.txt我将其作为指令添加到我自己的 Dockerfile 中。问题是,为了playwright工作,它需要安装浏览器,这就是它变得棘手的地方......

简单地运行命令playwright install --with-deps是正确的方法,但是要安装这些依赖项,您需要root我没有的特权......

playwright install --with-deps失败: 剧作家安装 --with-deps 失败

安装所有内容也root不起作用(即使不是不可能,也会使项目变得更加复杂)。最重要的是,运行命令会提示您输入root密码,而该密码似乎根本不可用。

这是我已经放弃的一点,但我认为也许最好使用playwright自己的映像,然后apache airflow手动构建。

哪种方法最好呢?

提前致谢!

Sla*_*sky 2

最好的方法是使用 playwright docker 镜像作为基础镜像,这样你就不需要安装它的依赖项。请查看此处的文档:https://playwright.dev/docs/docker