我用C#编写了一个应用程序,它需要使用像chrome这样的浏览器实例。我使用以下方法对应用程序和运行进行了对接:
sudo docker run -d --name myapp --restart=always -e BROWSER_PATH=/usr/bin/chromium-browser myimage应用程序正确启动,但我得到以下错误:
未处理异常: System.AggregateException:发生了一个或多个错误。(未能启动浏览器!不存在可执行文件的路径)--> System.IO.FileNotFoundException:启动浏览器失败!可执行文件的路径不存在。
似乎Docker容器无法访问位于容器外部的浏览器文件夹。
我使用puppeteer-sharp管理浏览器,因此抛出错误的行是如下所示:
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = true,
ExecutablePath = Environment.GetEnvironmentVariable("BROWSER_PATH"),
});如您所见,我正在从一个环境变量读取BROWSER_PATH。
我怎么才能解决这个问题?
谢谢。
更新:
我尝试按建议安装卷,使用:
sudo docker run -d --name myapp --restart=always -e BROWSER_PATH=/usr/bin/chromium-browser --v "/$(pwd)/usr/bin/chromium-browser:/usr/bin/chromium-browser" myimage但我也有同样的错误:
未能启动浏览器!可执行文件的路径不存在。
我做错了什么?
发布于 2020-10-03 15:01:44
https://stackoverflow.com/questions/64185382
复制相似问题