我在docker容器中运行了node.js.当我启动docker时,它会调用一个调用node.js(或nodemon)来启动的脚本。
在该node.js中,它所做的第一件事就是通过
查找它的IPvar ifaces = os.networkInterfaces();
但它总是不起作用,原因令我神秘:
为1,而3使用相同的普通命令我最好的猜测是docker在网络启动之前启动它。所以要么我可以让init脚本提前启动网络,要么轮询直到出现一些东西。有没有人知道linux命令启动网络设置ip?
答案 0 :(得分:1)
我选择了setInterval,直到os.networkInterfaces返回一个非null值,它在一个较慢的AWS微实例上的时间从100ms到500ms不等。