http - 将 docker 容器端口绑定到路径
问题描述
Docker 菜鸟在这里。已经设置了一个带有 docker 容器的开发服务器。我能够运行基本容器。例如
docker run --name node-test -it -v "$(pwd)":/src -p 3000:3000 node bash
按预期工作。一旦我有很多小项目,我想绑定/监听实际的 http localhost 路径而不是端口。类似的东西
docker run --name node-test -it -v "$(pwd)":/src -p 3000:80/node-test node bash
是否可以?谢谢。
编辑。基本上我想输入localhost/node-test
而不是localhost:3000
在我的浏览器窗口中
解决方案
听起来您想要的是让您的 Docker 容器响应 URL,例如通过在 Docker选项http://localhost/some/random/path
中以某种方式指定该路径。--port
对此的简短回答是否定的,这是不可能的。原因是端口与路径没有任何关系——HTTP 服务器侦听端口,并为在路径中找到的资源提供服务。请注意,有许多不同类型的服务器,它们都侦听某个端口,但其中许多(大多数?)根本没有路径的概念。例如,考虑一个 SMTP(邮件传输)服务器——它经常监听端口 25,但路径对它意味着什么?它所做的只是将邮件从一台服务器传输到另一台服务器。
有两种方法可以完成您正在尝试做的事情:
编写您的应用程序以响应特定路径。例如,如果您在节点应用程序中使用 Express 框架,请为您想要的路径创建一个路由。
使用代理服务器接受一条路径上的请求并将它们中继到正在侦听另一条路径的服务器。
请注意,这与 Docker 无关——如果您在任何服务器上运行应用程序,您将面临相同的两个选项。
推荐阅读
- python - python中的数组选择
- annotations - Struts 2 post back 默认
- python - Python Typeerror:所有中间步骤都应该是转换器并实现拟合和转换
- xml - 如何计算 XSLT 1.0 中每个单元分组的节点总和?
- string - 匹配不同长度的字符串前缀
- angular - 以角度 8 动态发送 ID 到 proxy.config.json
- javascript - 创建 N 个单独的删除表单
- python - 基于列表检查嵌套字典python中是否存在键
- android - 对齐相对侧的两个视图(一个在顶部,一个在底部)并且能够在顶视图增长时推动底视图?
- python - Python通过函数传递变量