gpt4 book ai didi

docker - 如何公开在 docker 中的本地主机上运行的应用程序?

转载 作者:行者123 更新时间:2023-12-02 19:03:02 25 4
gpt4 key购买 nike

我有一个应用程序在 localhost:4200(不是 0.0.0.0:4200)上的 docker 容器内运行。我怎样才能将它暴露给主机?

当我使用 -p 4200:4200 时在 docker run 上,我无法访问该应用程序。即 curl localhost:4200curl http://127.0.0.1:4200curl http://<ip from ifconfig>:4200curl http://0.0.0.0:4200不起作用。然而,docker exec <container-id> curl localhost:4200作品。这意味着应用程序已成功启动,但容器本地主机上的 4200 端口未暴露给主机。

我停止了该应用程序并修改了该应用程序(在同一个正在运行的容器上)以在 0.0.0.0:4200 而不是 localhost:4200 上公开该应用程序。在那之后,我可以到达 curl http://0.0.0.0:4200 .

我想弄清楚如何将本地主机上的端口从容器公开到主机(这样我就不必修改我的应用程序)。

最佳答案

您可以更明确地使用:

docker run --publish=127.0.0.1:4200:4200/tcp ....

参见 documentation

但是:

  • 127.0.0.1 对应于您主机的环回适配器
  • 0.0.0.0 实际上是该主机上的任何网络适配器(包括 127.0.0.1)
  • localhost 是习惯上映射到 127.0.0.1
  • 的 DNS 名称

因此无论您使用这些方法中的哪一种,结果都应该是相同的。

喂!

关于docker - 如何公开在 docker 中的本地主机上运行的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57044378/

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