1

上下文:我实现了docker-py用于创建 docker 网络和运行 docker 容器的测试。用于执行测试的测试运行器是pytest. 测试设置取决于 Python(我的开发机器上的 Python 包)、我的开发机器 docker daemon 和我的开发机器静态 IP 地址。在我的开发机器运行时上下文中,测试运行得很好(通过简单地调用 test runner pytest)。现在我想将测试迁移到gitlab-ci. gitlab-ci在 docker 容器中运行作业,该容器通过/var/run/docker.sockmount 访问 CI 服务器 docker 守护进程。用于运行作业的 docker 容器的 IP 地址gitlab-ci不像我的开发机器上下文中那样是静态的。但是为了在测试中创建 docker 网络,我需要 ip 地址。

问题:如何获取使用 Python 执行测试的 docker 容器的适当 IP 地址?

4

1 回答 1

-1
  • 当您运行 docker 时,如果被询问,您可以与主机共享同一个网络。
  • 添加到运行命令--network host
  • 这样的参数将导致 python 网络代码与您在没有容器的情况下运行代码相同。
于 2018-08-01T09:59:39.173 回答