gpt4 book ai didi

docker - 设置 docker 容器只听 localhost 而不是 0.0.0.0

转载 作者:行者123 更新时间:2023-12-05 02:34:06 76 4
gpt4 key购买 nike

我想用 --network=host 运行 docker 容器,但它忽略了端口和 ip。我想在我的主机网络中运行 docker 容器,同时我想限制此容器仅在 localhost 或 127.0.0.l 上监听而不是 0.0.0.0 。

我该怎么办?

最佳答案

不要使用--network=host;它通常会禁用 Docker 的网络层,而且几乎从不需要。

将容器内的进程设置为监听特殊的“所有接口(interface)”地址 0.0.0.0。如果不这样做,则根本无法从其自己的容器外部调用它。

当您发布容器的端口时,无论是使用 docker run -p 选项还是 Compose ports: 设置,都将主机 IP 地址作为可选参数。如果您将该地址设置为 127.0.0.1,则除了非容器主机进程之外的任何地方都无法访问已发布的端口。

docker run -d \
-p 127.0.0.1:8000:8000 \ # tell Docker to only accept connections
\ # on the host localhost interface
-e BIND_ADDR=0.0.0.0:8000 \ # tell the application to accept
\ # connections from "everywhere"
my/image

关于docker - 设置 docker 容器只听 localhost 而不是 0.0.0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70812628/

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