我在 node.js express 应用程序中托管 Mosca MQTT 代理,并尝试在 Bluemix 的容器组中运行它。我在使用端口 1883 连接到 MQTT 时遇到问题,即使我在 Dockerfile 中公开了端口 1883。
MQTT 代理非常简单:
var settings = {
port: 1883,
};
var mqttserver = new mosca.Server(settings);
var httpServer = http.createServer(app);
mqttserver.attachHttpServer(httpServer);
var port = (process.env.VCAP_APP_PORT || 3000);
httpServer.listen(port, function(){
console.log('Express server listening on port ' + port);
});
在我的 Dockerfile 中,我公开了端口 80 和 1883
EXPOSE 1883
EXPOSE 80
当我在 Bluemix 中创建容器组时,我选择端口 1883。我可以在端口 80 上连接到代理,但不能在端口 1883 上连接。
有什么建议为什么不呢?