1.6.9에서 발생하는 이슈. 1.6.10에서는 해결된 이슈

도커 아닌 우분투에 직접 1.6.10 설치해서 해결

https://github.com/eclipse/mosquitto/issues/1983

→ how to install mosquitto 1.6.10 로 검색

→ 다음 레퍼런스를 찾음🤩

https://gist.github.com/smoofit/dafa493aec8d41ea057370dbfde3f3fc

이외 레퍼런스

https://www.npmjs.com/package/mqtt

https://yonghyunlee.gitlab.io/node/node-mqtt/

연결 확인

이전에 사용하고 있던 포트 종료하기

특정 포트 사용 여부 확인 : sudo lsof -i:[포트번호]

프로세스 죽이기: sudo kill -9 [pid]

연동 완료

MQTT.js 연동 코드

var mqtt = require('mqtt');
var client  = mqtt.connect('mqtt://[ip]:9001');
onClick={()=>{client.publish("abc","hellosub");}}

CLI로 확인하기

mqtt sub -t abc -h [ip] -p 1883

참고 자료

https://www.youtube.com/watch?v=p_T5G1hJ35g

❌주의. 1.6.9 버전(websocket 설정하기 위해선 1.6.10 버전 이상으로 설치해야 한다.)

Dockerfile 생성

sudo vim Dockerfile # 파일 새로 만들기 (열기)

# Dockerfile 내용

    FROM ubuntu

    RUN apt-get update
    RUN apt-get install -y mosquitto
    RUN apt-get install -y mosquitto-clients

    CMD mosquitto # mosquitto 실행 명령

cat Dockerfile # 파일 저장 확인

Dockerfile 이미지로 만들기

[issue]

error checking context: 'no permission to read from '/home/ubuntu/.Xauthority''.

[solution]

https://stackoverflow.com/questions/60118436/docker-build-question-no-permission-to-read-from

이미지 실행

이미지 실행 확인

이미지 확인

컨테이너 실행

docker run -it mqtt_mosquitto:v1 /bin/bash

+ Recent posts