我有一个应用程序需要定期使用有头的浏览器。
我想使用 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 未找到 [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 未找到 [IP: 91.189.91.15 80]
之后运行:
dokku run MY_APP firefox
返回:FATA[0000] 来自守护程序的错误响应:无法启动容器...可执行文件:"火狐":在$PATH中找不到可执行文件
我知道PhatomJS是一个更好的解决方案,但我使用的一些第三方gem依赖于头部Firefox浏览器。
从您在安装 Firefox 时收到的错误消息来看,Docker 容器中的 apt 缓存似乎已过时。首先运行apt-get update
应该可以解决问题。
虽然要运行Firefox无头,但你需要另一个步骤。您需要在命令前面加上xvfb-run
,这是xvfb
包的一部分。它将允许您在虚拟 X 服务器环境中运行命令。