Docker有一个很好的功能,即将动态分配的主机端口映射到通过 --expose 参数的Dockerfile公开的每个容器端口 . 如果你暴露,让我们说你的容器上的端口80,并且没有在docker主机上指定你要绑定它的端口,这个端口将从ephemeral列表中自动分配 . 这里更具体的是引用:

你可以为docker run提供-P或--publish-all = true | false,这是一个一揽子操作,它在图像的Dockerfile或--expose命令行标志中用EXPOSE行标识每个端口并将其映射到某个主机端口在短暂的港口范围内 . 然后需要使用docker port命令检查创建的映射 . 临时端口范围由/ proc / sys / net / ipv4 / ip_local_port_range内核参数配置,通常范围为32768到61000 .

是否有任何选项可以在不修改 /proc/sys/net/ipv4/ip_local_port_range 的情况下限制此范围?用例是在访问控制规则的区域,我想只打开,假设在docker主机上有1000个端口供它用作这种动态分配的范围 .