如何从远程主机b访问或连接到主机a上docker上运行的进程考虑一个ip为192.168.0.3的主机a,它在端口3999的docker上运行应用程序。如果我想从同一子网中ip为192.168.0.4的远程计算机访问该应用程序。准确地说,我在服务器上运行kafka producer,并尝试使用kafka console consumer接收。
ux6nzvsh1#
使用 --net=host 至 run 您的容器,它将使用主机的网络堆栈,然后您可以连接到在容器中运行的应用程序,就像它直接在主机上运行一样。端口Map,使用选项 -p 将容器内的端口Map到主机的端口。例如。 docker run -d -p <container port>:<host port> <image> ,然后您可以连接到 <host>:<host port> 在容器内连接应用程序docker的内置多主机网络。在早期版本中,网络驱动程序与docker的核心是隔离的,您必须使用第三方工具(如flannel或weave)进行多主机连接,但从1.9版开始,它已合并到docker中。你可以按照它的指南来设置它。希望这有帮助:-)
--net=host
run
-p
docker run -d -p <container port>:<host port> <image>
<host>:<host port>
bwitn5fc2#
首先需要将docker容器的端口绑定到主机a:docker run-d-p 3999:3999Kafka制作人然后您需要使用ip:port从主机b访问主机a
192.168.0.3:3999
2条答案
按热度按时间ux6nzvsh1#
使用
--net=host
至run
您的容器,它将使用主机的网络堆栈,然后您可以连接到在容器中运行的应用程序,就像它直接在主机上运行一样。端口Map,使用选项
-p
将容器内的端口Map到主机的端口。例如。docker run -d -p <container port>:<host port> <image>
,然后您可以连接到<host>:<host port>
在容器内连接应用程序docker的内置多主机网络。在早期版本中,网络驱动程序与docker的核心是隔离的,您必须使用第三方工具(如flannel或weave)进行多主机连接,但从1.9版开始,它已合并到docker中。你可以按照它的指南来设置它。
希望这有帮助:-)
bwitn5fc2#
首先需要将docker容器的端口绑定到主机a:
docker run-d-p 3999:3999Kafka制作人
然后您需要使用ip:port从主机b访问主机a