DigitalOcean,Docker,Dokku:在容器中安装 Firefox

DigitalOcean, Docker, Dokku: Installing Firefox inside a container

我有一个应用程序需要定期使用 headed 浏览器。

我想使用 Dokku 托管它。

如何将它安装到我的 DO 容器中?

当我运行:

dokku run MY_APP apt-get install firefox

我得到: E: 获取失败 http://archive.ubuntu.com/ubuntu/pool/main/s/systemd/libsystemd-daemon0_204-5ubuntu20.9_amd64.deb 404 Not Found [IP: 91.189.91.15 80] . . . E: 获取失败 http://archive.ubuntu.com/ubuntu/pool/main/u/ubufox/xul-ext-ubufox_2.9-0ubuntu0.14.04.1_all.deb 404 Not Found [IP: 91.189.91.15 80]

之后运行宁:

dokku run MY_APP firefox

returns: FATA[0000] 来自守护程序的错误响应:无法启动容器...执行:"firefox":在 $PATH

中找不到可执行文件

我知道 PhatomJS 是更好的解决方案,但我使用的某些第三方 gem 依赖于 headed firefox 浏览器。

从安装 Firefox 时收到的错误消息来看,Docker 容器中的 apt 缓存似乎已过期。 运行apt-get update首先应该解决问题。

虽然要 运行 Firefox 无头,您还需要一个步骤。您需要在命令前加上 xvfb-run,它是 xvfb 包的一部分。它将允许您在虚拟 X 服务器环境中 运行 命令。