node.js - 如何在 docker 容器中使用 ip
问题描述
如果我在我的 nodejs 应用程序中为 mongo db 声明 IP 地址,如何创建公共容器映像,例如:
const client = mongoose.connect("mongodb://192.168.99.100:27017/db", ...
- 我是否需要使用 public-ip 之类的库来获取地址:
const publicIp = require('public-ip');
(async () => {
console.log(await publicIp.v4());
//=> '46.5.21.123'
console.log(await publicIp.v6());
//=> 'fe80::200:f8ff:fe21:67cf'
})();
我是否必须从顶部知道容器将使用哪些地址?
或者有一些方法,例如,如果容器在一个 pod 上运行,它们共享相同的内部本地地址 127.0.0.1?
解决方案
你应该看看 Kubernetes服务。Pod 和其中的容器是短暂的。如链接中所述:
虽然每个 Pod 都有自己的 IP 地址,但即使是这些 IP 地址也不能随着时间的推移而保持稳定。
另一方面,服务具有稳定的 IP 地址。它们还允许使用在同一链接中指定的环境变量和 DNS 进行发现。
推荐阅读
- spring - 使用 Spring OAuth 2.0 的自定义主体和范围
- bluetooth-lowenergy - 区分 Android BLE 通道
- javascript - 填充全部时猫鼬返回空对象?
- c# - C# 中 Selenium Web 驱动程序项目中的调试问题
- c# - 使用 StringContent 访问 HttpResponseMessge 中的 JSON 对象
- amazon-web-services - 如何获取 AWS Lambda 中调用的原始 URL?
- amazon-web-services - 如何将 CodeDeploy 重新连接到 GitHub
- pdf - 将附件添加到 PDF 中的 mailto 链接
- python - 支持向量回归:TypeError:必须是实数,而不是 str
- tensorflow - Andrew Ng 的 Coursera 作业 - 训练完整的触发词检测模型