为什么 Pynt 需要 DinD 才能在 GitLab CI/CD 中运行

问题描述 投票:0回答:1

我需要运行 Pynt 来自动对我拥有的 API 进行安全测试,我有一个集合和一个环境,并且通过 Postman 一切都运行得很好,现在我想使用 Newman 在 GitLab CI/CD 上运行它;我构建了一个 docker 镜像来包含 python(用于 Pynt)、npm(用于 Newman)和 DinD,因为 Pynt 显然需要它。

使用此设置时,我收到一个错误,指出 docker 守护进程需要特权访问,这存在一些令我担忧的安全风险,我的问题是为什么 Pynt 需要 DinD 和 docker 守护进程环境?

docker postman gitlab-ci gitlab-ci-runner docker-in-docker
1个回答
0
投票

拥有可用的 docker 是使用 pynt

已记录的先决条件
。这是因为
pynt
CLI 调用
docker
命令来执行其功能。在相关部分,文档指出:

请注意,Pynt 解决方案基于 docker,需要访问本地主机 [...]
确保 Docker 引擎可用并在您的计算机上运行

pynt 的 CI/CD 文档 描述了 GitLab CI 配置来实现此目的,假设您使用 GitLab.com 共享运行器或使用 docker-in-docker 的自托管基于 docker 的执行器。

可能有不止一种配置可以让您在 GitLab CI 中执行此操作,但无论如何,您需要确保您能够在 GitLab CI 作业中运行

docker
命令才能使用
pynt

© www.soinside.com 2019 - 2024. All rights reserved.