Docker를 사용하여 메시지를 구독하는 내 응용 프로그램으로 eclipse-mosquitto
을 사용하여 MQTT 브로커를 설정할 수있었습니다. 그래서 다음과 같이 매핑 다른 포트와 부두 노동자가-구성에 두 개의 브로커를 추가 원했고, 지금 도커를 배우고 :Docker를 사용하여 둘 이상의 MQTT 브로커 설정
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의 터미널에서) 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