gpt4 book ai didi

http - 将 docker 容器端口绑定(bind)到路径

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

Docker 菜鸟在这里。已经设置了一个带有 docker 容器的开发服务器。我能够运行基本容器。
例如

docker run --name node-test -it -v "$(pwd)":/src -p 3000:3000 node bash

按预期工作。一旦我有很多小项目,我想绑定(bind)/监听实际的 http localhost 路径而不是端口。类似的东西
docker run --name node-test -it -v "$(pwd)":/src -p 3000:80/node-test node bash

是否可以?谢谢。

编辑。基本上我想输入 localhost/node-test而不是 localhost:3000在我的浏览器窗口中

最佳答案

听起来您想要让 Docker 容器响应 http://localhost/some/random/path 之类的 URL。通过在 Docker --port 中以某种方式指定该路径选项。

对此的简短回答是否定的,这是不可能的。原因是端口与路径没有任何关系 - HTTP 服务器 收听 一个端口,并服务于 的资源发现于 一条路径。请注意,有许多不同类型的服务器,它们都监听某个端口,但其中许多(大多数?)根本没有路径的概念。例如,考虑一个 SMTP(邮件传输)服务器——它经常监听端口 25,但路径对它意味着什么?它所做的只是将邮件从一台服务器传输到另一台服务器。

有两种方法可以完成您正在尝试做的事情:

  • 编写您的应用程序以响应特定路径。例如,如果您在节点应用程序中使用 Express 框架,请为您想要的路径创建一个路由。
  • 使用 proxy server接受一条路径上的请求并将它们中继到正在监听另一条路径的服务器。

  • 请注意,这与 Docker 无关——如果您在任何服务器上运行应用程序,您将面临相同的两个选项。

    关于http - 将 docker 容器端口绑定(bind)到路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51111634/

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