在同一个 Docker 镜像中使用 Docker 和 Cypress

时间:2021-07-20 09:08:25

标签: docker cypress

公平警告:我对这一切都不熟悉,所以我的思考过程中可能会出现一些错误。

我想对我们正在开发的应用程序进行系统测试,我们通过 Docker 发布这个应用程序,所以这就是我想要测试的内容。

对于 GitLab CI,这意味着创建一个在 Docker 和 Cypress 中包含 Docker 的 Docker 镜像,因为这是我想要使用的。

所以仅仅通过检查 Docker docs 我可以看到 Docker 可以安装在许多 Linux 发行版上,但不能安装在 Alpine 上。然而,official image 是阿尔卑斯山。

Cypress docs 但是表明 Cypress 无法安装到 Alpine。仅支持包管理器“apt-get”和“yum”,分别是 Ubuntu 和 Fedora。

据我所知,不可能同时拥有这两个?这绝对令人困惑(但我刚刚了解到的包管理器混乱也是如此)。

我尝试了什么:

  • 使用 Docker image 作为基础并尝试安装 Cypress(不起作用,因为没有安装手册,并且您需要通过 apt-get 安装的包对于 apk 不存在)
  • 使用 Cypress image 作为基础并尝试安装 Docker(由于 Cypress 映像不起作用,因此不起作用)
  • 使用另一个映像并尝试安装两者(不起作用,因为在 Docker 容器内安装 Docker 不起作用,这就是他们提供映像的原因)
  • 将 DinD 与另一个发行版一起使用(cruizba/ubuntu-dind,失败并显示“dockerd is not running after max time”)

那么……我错过了什么?有什么方法可以让我在同一图像中同时使用 Cypress 和 DinD?

1 个答案:

答案 0 :(得分:0)

有一个名为 blackholegalaxy/cypress-dind 的图像,它结合了 DinD 和 Cypress。

遗憾的是它真的很旧,无法轻松将 Docker 更新到最新版本。