【问题标题】:How to access a Process running on docker on a host from a remote host如何从远程主机访问在主机上的 docker 上运行的进程
【发布时间】:2017-03-10 22:32:43
【问题描述】:

如何从远程主机 B 访问或连接到主机 A 上的 docker 上运行的进程

考虑一个 IP 为 192.168.0.3 的主机 A,它在 3999 端口上的 docker 上运行应用程序。 如果我想从同一子网中 IP 192.168.0.4 的远程计算机访问该应用程序。

确切地说,我在服务器上运行 Kafka 生产者,我正在尝试使用 Kafka-console-Consumer 接收。

【问题讨论】:

    标签: docker apache-kafka


    【解决方案1】:
    • 使用--net=hostrun你的容器,它将使用主机的网络堆栈,然后你可以连接到容器内运行的应用程序,就像它直接在主机上运行一样。
    • 端口映射,使用选项-p 将容器内的端口映射到主机的端口。例如docker run -d -p <container port>:<host port> <image>,然后您可以连接到<host>:<host port> 以连接容器内的应用程序
    • Docker 的 built-in multi-host network。在早期版本中,网络驱动程序与 docker 的核心隔离,您必须使用 3rd 方工具,如 flannelweave 进行多主机连接,但 from release 1.9, it has been merged into docker。您可以按照它的指南进行设置。

    希望这会有所帮助:-)

    【讨论】:

    • @NaveenHolla 很高兴为您提供帮助 :-)
    【解决方案2】:

    首先需要将 docker 容器的端口绑定到 Host A:

    docker run -d -p 3999:3999 kafka-producer

    那么你需要使用 IP:Port 从主机 B 访问主机 A

    192.168.0.3:3999
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-02
      • 2017-11-10
      • 2022-10-06
      • 2014-04-25
      • 1970-01-01
      • 2021-08-03
      • 1970-01-01
      相关资源
      最近更新 更多