如何从远程主机访问主机上的docker上运行的进程

时间:2017-03-10 09:02:13

标签: docker apache-kafka

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

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

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

2 个答案:

答案 0 :(得分:1)

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

希望这有用: - )

答案 1 :(得分:0)

首先,您需要将docker container的端口绑定到Host A:

  

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

然后,您需要使用IP:端口

从主机B访问主机A.
192.168.0.3:3999