如何使用Python在Docker容器中获取主机ip?

时间:2018-08-01 08:57:17

标签: python docker gitlab dockerpy

上下文:我实现了使用docker-py创建docker网络并运行docker容器的测试。用于执行测试的测试运行程序为pytest。测试设置取决于Python(开发机上的Python软件包),开发机docker守护程序和开发机静态ip地址。在我的开发机运行时上下文中,测试运行得很好(通过测试运行者pytest的普通调用)。现在,我想将测试迁移到gitlab-ci中。 gitlab-ci在docker容器中运行作业,该容器通过/var/run/docker.sock挂载访问CI服务器docker守护进程。 gitlab-ci用于在其中运行作业的docker容器的ip地址不是静态的,就像在我的开发机环境中一样。但是要在测试中创建docker网络,我需要IP地址。

问题:如何获取使用Python在其中执行测试的docker容器的相应IP地址?

1 个答案:

答案 0 :(得分:0)

  • 当您运行docker时,您可以与主机共享同一网络。
  • 添加到运行命令--network host
  • 该参数将导致python网络代码与您在没有容器的情况下运行代码相同。