Linux Docker容器内的动态侦听端口
我有一个应用程序,在使用其默认端口进行一些连接后,它开始打开(侦听)新的随机端口以处理现有连接,然后丢弃它们(视频呼叫) 它还在通信协议内交换IP地址和端口,我能够解决IP地址问题,但仍然无法找到一种方法,在Docker容器内打开主机的IPTABLES时,动态地告诉它们打开相同的端口,有人有什么想法吗?使用Linux Docker容器内的动态侦听端口,linux,docker,iptables,Linux,Docker,Iptables,我有一个应用程序,在使用其默认端口进行一些连接后,它开始打开(侦听)新的随机端口以处理现有连接,然后丢弃它们(视频呼叫) 它还在通信协议内交换IP地址和端口,我能够解决IP地址问题,但仍然无法找到一种方法,在Docker容器内打开主机的IPTABLES时,动态地告诉它们打开相同的端口,有人有什么想法吗?使用--net=host选项,对于docker run命令,应该启用您正在寻找的行为——注意,它被认为是不安全的,但我真的看不到任何其他这样做的方法 请参阅docker run手册页: --
--net=host
选项,对于docker run
命令,应该启用您正在寻找的行为——注意,它被认为是不安全的,但我真的看不到任何其他这样做的方法
请参阅docker run
手册页:
--net="bridge"
Set the Network mode for the container
'bridge': create a network stack on the default Docker bridge
'none': no networking
'container:<name|id>': reuse another container's network stack
'host': use the Docker host network stack. Note: the host mode gives the container full access to local system services such as D-bus
and is therefore considered insecure.
'<network-name>|<network-id>': connect to a user-defined network
--net=“桥”
设置容器的网络模式
“网桥”:在默认Docker网桥上创建网络堆栈
“无”:无网络
“容器:”:重用另一个容器的网络堆栈
“主机”:使用Docker主机网络堆栈。注意:主机模式允许容器完全访问本地系统服务,如D-bus
因此被认为是不安全的。
“|”:连接到用户定义的网络
您正在执行什么命令来启动容器?谢谢,它通过在容器内提供主机网络解决了问题。这听起来像是一个解决方案,但是,在考虑可伸缩性时,运行多个相同的容器实例将不起作用,因为端口正在使用中,除非容器在不同的IP上运行。