我在 docker 容器中运行了 node.js。当我启动 docker 时,它会调用一个调用 node.js(或 nodemon)的脚本来启动。
在该 node.js 中,它所做的第一件事就是通过以下方式查找它的 IP
var ifaces = os.networkInterfaces();
但它并不总是有效,原因让我感到困惑:
- AWS+Docker+手动启动节点=YES!
- AWS+Docker+autostart nodemon=是
- AWS+Docker+自动启动节点 = 否
作为 1 和 3 使用相同的普通命令,我最好的猜测是 docker 在网络启动之前启动它。所以要么我可以让初始化脚本更早地启动网络,要么轮询直到出现一些东西。有人知道启动网络设置ip的linux命令吗?