首页 > 解决方案 > 我已经使用 ubuntu 14.04 为 python PyQt4 应用程序创建了一个 docker 映像,现在当我运行容器时,我想访问 docker 主机 ip 和接口

问题描述

我想获取 docker 主机 ip 地址和接口名称,即 docker 主机的 ifconfig。相反,我在 docker 容器中执行 ifconfig 时获取了 docker 容器 IP 地址。

如果有人告诉我从 docker 容器中获取 docker 主机的 IP 地址,那就太好了。

我试过做 ifconfig dockerhostname,结果我得到错误 dockerhostmachi: error fetching interface information: Device not found

这是我的码头文件

来自 ubuntu:14.04

安装依赖项

运行 apt-get update && apt-get install -y\python-dev\libffi-dev\libssl-dev\python-enum\apache2\libapache2-mod-wsgi\python-pip\python-qt4

RUN chmod -R 777 /var/log/apache2/error.log
RUN chmod -R 777 /var/log/apache2/other_vhosts_access.log
RUN chmod -R 777 /var/log/apache2/access.log
RUN chmod -R 777 /var/run/apache2/

运行 a2enmod wsgi

我需要从 docker 容器或运行 docker 映像时获取 docker 主机的 ifconfig 结果。

标签: pythondockerubuntu-14.04docker-containerdocker-network

解决方案


当您运行 docker image/container 时,您可以使用 -e 参数指定环境变量。这样做可能像: docker run -e ip=docker_host_ip ...

那么它应该在容器端作为环境变量可用。

https://medium.com/the-code-review/top-10-docker-run-command-options-you-cant-live-without-a-reference-d256834e86c1


推荐阅读