Cloud Foundry:如何重新映射 Docker 图像中的暴露端口?
Cloud Foundry: How to remap an exposed port in Docker image?
我想 运行 RabbitMQ 服务使用我组织的 Cloud Foundry 服务。我检查了 RabbitMQ docker 图像,发现暴露了以下端口:
"ExposedPorts": {
"25672/tcp": {},
"4369/tcp": {},
"5671/tcp": {},
"5672/tcp": {}
},
我通过在 Cloud Foundry 中安装它来启动应用程序,如下所示:cf push -o rabbitmq RabbitMQ -u process
。
应用已安装并启动。但是,它正在侦听端口 5672。CF 服务只允许我拥有 10000 和 10999 之间的端口。所以我进入 CF 门户,删除 HTTP 路由,并在端口 10123 上为 rabbitmq 应用程序创建一个新的 TCP 路由。
如何使用 CF CLI 将端口 10123(面向外部)映射到端口 5672(RabbitMQ,面向内部)?
有将具有特定外部端口的路由映射到特定内部应用程序端口的功能。它在此处的文档中进行了描述。
https://docs.cloudfoundry.org/devguide/custom-ports.html#procedure
目前,cf cli 不直接支持该功能,因此您需要使用 cf curl
手动发送一些请求。
大体流程是这样的
- 获取应用程序的 GUID。
- 为您的应用配置端口列表,
cf curl /v2/apps/APP-GUID -X PUT -d '{"ports": [25672, 4369, 5671, 5672]}'
- 使用
cf map-route my-app example.com --port 10123
将 TCP 路由映射到您的应用程序。
- 获取您的 TCP 路由的路由 GUID。 运行
cf curl /v2/routes?q=host:example.com
.
- 用
cf curl /v2/route_mappings -X POST -d '{"app_guid": "APP-GUID from #1", "route_guid": "ROUTE-GUID from #4", "app_port": 5672}'
更新路由映射
- 可以选择对其他端口重复 3-5。
我想 运行 RabbitMQ 服务使用我组织的 Cloud Foundry 服务。我检查了 RabbitMQ docker 图像,发现暴露了以下端口:
"ExposedPorts": {
"25672/tcp": {},
"4369/tcp": {},
"5671/tcp": {},
"5672/tcp": {}
},
我通过在 Cloud Foundry 中安装它来启动应用程序,如下所示:cf push -o rabbitmq RabbitMQ -u process
。
应用已安装并启动。但是,它正在侦听端口 5672。CF 服务只允许我拥有 10000 和 10999 之间的端口。所以我进入 CF 门户,删除 HTTP 路由,并在端口 10123 上为 rabbitmq 应用程序创建一个新的 TCP 路由。
如何使用 CF CLI 将端口 10123(面向外部)映射到端口 5672(RabbitMQ,面向内部)?
有将具有特定外部端口的路由映射到特定内部应用程序端口的功能。它在此处的文档中进行了描述。
https://docs.cloudfoundry.org/devguide/custom-ports.html#procedure
目前,cf cli 不直接支持该功能,因此您需要使用 cf curl
手动发送一些请求。
大体流程是这样的
- 获取应用程序的 GUID。
- 为您的应用配置端口列表,
cf curl /v2/apps/APP-GUID -X PUT -d '{"ports": [25672, 4369, 5671, 5672]}'
- 使用
cf map-route my-app example.com --port 10123
将 TCP 路由映射到您的应用程序。 - 获取您的 TCP 路由的路由 GUID。 运行
cf curl /v2/routes?q=host:example.com
. - 用
cf curl /v2/route_mappings -X POST -d '{"app_guid": "APP-GUID from #1", "route_guid": "ROUTE-GUID from #4", "app_port": 5672}'
更新路由映射
- 可以选择对其他端口重复 3-5。