gpt4 book ai didi

linux - docker:使用 --net=host 隐藏端口

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:35 34 4
gpt4 key购买 nike

如果 docker 容器设置为 network_mode: host,则容器中打开的任何端口都将在 docker 主机上打开不需要-p 或 -P docker run 选项。

如何向公众隐藏端口并使其只能在 localhost 中访问。

最佳答案

如果您使用 --net=host 运行,则您正在使用主机网络堆栈,并且没有其他 Docker 控制它与网络的交互方式。如果您只想监听特定接口(interface),您的服务器将绑定(bind)(2) 到该接口(interface)上的地址,就像直接在主机上运行的任何其他进程一样。大多数高级服务器包都有一个选项来监听某些特定地址,并且您可以将服务器设置为仅监听 127.0.0.1。

使用--net=host通常不是最佳实践。如果省略该选项并使用标​​准 Docker 网络,则 docker run -p 选项有一个绑定(bind)到特定主机 IP 地址的选项。如果您的服务器监听容器内的端口 80,并且您实际上希望它监听端口 8888 并且只能从当前主机访问,您可以

docker run -p 127.0.0.1:8888:80 ...

(在后一种情况下,容器内的进程必须监听 0.0.0.0 或其他等效的“所有地址”设置,即使您不希望从主机外访问它。)

关于linux - docker:使用 --net=host 隐藏端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52688117/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com