gpt4 book ai didi

python-3.x - 将 docker 容器环回绑定(bind)到主机环回

转载 作者:行者123 更新时间:2023-12-02 20:37:58 26 4
gpt4 key购买 nike

我拉了一个 docker 镜像(将以 python 3 为例)

docker pull python:3.6

然后我启动一个 docker 容器
docker run -it -p 127.0.0.1:8000:8000 python:3.6 bash

(注意这里的 127.0.0.1:8000:8000 中的 127.0.0.1 允许指定目标、主机 IP 但不能指定源)

因此,如果我在 0.0.0.0 的容器内启动服务器:
python -m http.server 8000 --bind 0.0.0.0

然后我可以通过转到 http://127.0.0.1:8000 从主机毫无问题地访问容器的服务器。在主机上

但是,如果我的 docker 服务器绑定(bind)到 127.0.0.1 而不是 0.0.0.0:
python -m http.server 8000 --bind 127.0.0.1

然后访问 http://127.0.0.1:8000从主机不起作用。

将容器的环回 127.0.0.1 绑定(bind)到主机环回的正确方法是什么?

最佳答案

What's the proper way of binding the container's loopback 127.0.0.1 to the host loopback?



在 Linux 上,这可以通过将 Docker 容器配置为使用 hosts 网络命名空间来完成,即:
docker run --network=host

这仅适用于 Linux,因为在 Linux 上,您的机器是主机,而容器在您的机器操作系统中作为容器运行。在 Windows/OSX 上,Docker 主机作为虚拟机运行,容器在虚拟机中运行,因此它们无法共享您的机器网络命名空间。

关于python-3.x - 将 docker 容器环回绑定(bind)到主机环回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50976362/

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