Dockerを使用して、eclipse-mosquitto
を使用してメッセージを購読するアプリケーションでMQTTブローカーを設定することができました。 、複数のMQTTブローカーをDockerで設定する
version: '3'
services:
myapp:
...
links:
- mqtt
- mqtt2
depends_on:
- mqtt
- mqtt2
mqtt:
image: eclipse-mosquitto:latest
container_name: mqtt-iot
ports:
- 1883:1883
mqtt2:
image: eclipse-mosquitto:latest
container_name: mqtt2-iot
ports:
- 1884:1883
myapp
コンテナの外から(つまり私のOS Xターミナルから):私はこのようにマッピングされた異なるポートでドッカー-構成する2つのブローカを追加してみたかった、今ドッカーを学んでいますmqtt
とmqtt2
の両方が動作しています。私は期待どおりにメッセージを発行し、購読することができます。私はmyapp
の容器の内側にいる時
const mqtt = require('mqtt')
mqtt.connect('mqtt://mqtt', {port: 1883}) // Success
mqtt.connect('mqtt://mqtt2', {port: 1884}) // Success
しかし、私は唯一のmqtt
に接続することができます。 mqtt2
接続ですぐにoffline
イベントが発生し、接続に失敗します。 myapp
が両方のブローカーを適切に使用するためには、私は何をする必要がありますか?ここ
myappコードの詳細を表示 – hardillb