Docker 容器在您的平台上为 Chrome 浏览器提供无二进制文件

Posted

技术标签:

【中文标题】Docker 容器在您的平台上为 Chrome 浏览器提供无二进制文件【英文标题】:Docker container gives No binary for Chrome browser on your platform 【发布时间】:2021-04-26 11:02:19 【问题描述】:

我在 Docker 容器中运行 Angular 单元测试并收到此错误:

21 01 2021 01:51:10.057:INFO [launcher]: Launching browsers ChromeHeadless with concurrency unlimited
21 01 2021 01:51:10.063:INFO [launcher]: Starting browser Chrome
21 01 2021 01:51:10.097:ERROR [launcher]: No binary for Chrome browser on your platform.
  Please, set "CHROME_BIN" env variable.

要运行测试,我只是运行 .. ng test .. 使用来自 Docker Hub 的图像 node:14

是否有几乎相同的(最好是官方的)图像可供我使用,并且 Chrome 也已准备好继续使用它?

【问题讨论】:

【参考方案1】:

我必须在构建服务器上运行它:

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
echo "deb http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google.list
apt-get update
apt-get install -y google-chrome-stable xvfb
npm i -g @angular/cli

除了最后安装 Chrome 之外的所有说明。 最后一个安装 Angular,如果您不使用 Angular,则不需要。

注意:我必须安装 Chrome,因为 ng test 使用 Chrome - 但是,我已经切换到 Jest,我相信它可以在没有安装 Chrome 的情况下运行单元测试 - 尽管我没有检查过这个。

【讨论】:

以上是关于Docker 容器在您的平台上为 Chrome 浏览器提供无二进制文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在Windows上为Google云平台添加docker-registry secret(就是在PowerShell中,不是Bash)?

Dataframe_image OsError:无法在您的计算机上找到 Chrome 可执行文件

在您的集群中未找到任何容器实例

在您退出Chrome之前,系统会保留您的Flash设置的解决方法

terraform - 在您的集群中未找到任何容器实例

docker从零开始堆栈初体验,stacks