如何通过运行docker-compose来了解主机IP

时间:2019-05-02 19:51:52

标签: python docker docker-compose

我有一个docker-compose文件。通过docker-compose,我正在运行多种服务。对于每种服务,我正在运行不同的容器。在这些容器中,我有一个容器负责获取主机的硬件和网络信息。当我以独立模式运行容器时,容器可以为我提供主机IP。但是不幸的是,当我将其与其他容器一起运行时(最精确地通过docker-compose文件运行),所以我无法获取主机网络信息,而不是总是获取桥接网络信息(即docker-compose内部网络信息)。我试图在服务中设置network_mode:host,但是不幸的是,当我设置它时,它停止与其他容器通信。谁能建议我在不影响不同服务容器之间内部通信的情况下获取主机网络信息的方法。

2 个答案:

答案 0 :(得分:0)

您也许可以将此容器包含在两个网络中。一个包含主机信息,另一个包含与容器的“内部”通信。

例如: https://success.docker.com/article/multiple-docker-networks

答案 1 :(得分:0)

没有dockerfile和docker-compose,很难测试,但是我认为,如果您有一个具有network_mode:host的容器,则只能通过主机访问其他容器,这意味着端口转发,所以如果您有容器在主机模式下,另一个绑定到本地主机8080,我认为您应该能够从主机模式容器ping本地主机:8080。

请给我有关此反馈!

玩得开心!