Docker를 이용해 MQTT Broker를 간단하게 설치할 수 있다.
*자세한 설명 생략
① docker-compose.yml 생성
*docker-compose.yml 설명 아래 관련 글 참고
version: "3.7"
services:
mqtt:
container_name: mqtt-broker
image: eclipse-mosquitto
volumes:
- mosquitto_conf:/mosquitto/config
- mosquitto_data:/mosquitto/data
- mosquitto_log:/mosquitto/log
networks:
- mqttnet
ports:
- 1883:1883
volumes:
mosquitto_conf:
mosquitto_data:
mosquitto_log:
networks:
mqttnet:
driver: bridge
② cmd 창을 열고 docker-compose.yml 이 위치한 곳으로 이동
③ docker-compose up -d
- Image 다운로드 후 Container 시작
*재가동 필요시 : docker start mqtt-broker
*docker ps로 상태 확인
④ docker exec -it mqtt-broker /bin/sh
- 실행된 mqtt-broker의 로그를 확인하면 "local only mode."로 docker Container 내부에서 만 통신이 가능
따라서 외부에서도 통신이 가능하게 설정이 필요
*mqtt-broker 로그 확인 : docker logs -f mqtt-broker
⑤ docker exec -it mqtt-broker /bin/sh
- mqtt-broker 로 진입
⑥ vi /mosquitto/config/mosquitto.conf
- Broker(mosquitto) 설정 파일 (mosquitto.conf)을 vi를 통해 Open
- 아래 두 줄 추가(위치 상관없음)
*vi에서 i를 누르면 편집모드
allow_anonymous true
listener 1883 0.0.0.0
- 추가 후 저장 종료(esc 〉 :wq)
⑦ docker restart mqtt-broker
- mqtt-broker Container 재시작
*mqtt-broker 명령 창에 exit를 입력하여 Container에서 빠져나옴
- 이때 재시작이 안되고 Container가 계속 종료된다면 설정 시 문제 발생
- docker-compose down 후 ③부터 다시 진행
*docker-compose.yml에 volume을 잡아뒀기 때문에 해당 volume도 삭제 후 진행해야 됨
▷ 참고
GitHub - gulteking/spring-boot-mqtt-sample: Sample Spring Boot MQTT Client Application
Sample Spring Boot MQTT Client Application. Contribute to gulteking/spring-boot-mqtt-sample development by creating an account on GitHub.
github.com
▷ 관련 글
docker-compose.yml Example
docker-compose.yml 간단한 예시와 속성 별 간단한 주석 * docker-compose 관련 설명 생략 * [주의] .yml 파일은 탭(tap)을 지원 하지 않음 ▷ docker-compose.yml # docker-compose 버전 version: '0.0' # 한개 또는 여러 개의
coding-today.tistory.com
MQTT 란?
MQTT ( Message Queueing Telemetry Transport ) * 자세한 설명 생략 ▷ MQTT 란? - IoT와 같이 제한되거나 대규모 트래픽 전송을 위해 만들어진 발행/구독 기반의 메시징 프로토콜 - 브로커와 클라이언트는 TCP/IP
coding-today.tistory.com
SpringBoot에서 MQTT Client + WebFlux 구축
WebFlux를 적용한 MQTT Client를 구축하고 Topic 메시지 도착 시 Callback으로 Bean을 통해 서비스 구분 *Mqtt Broker(mosqitto) 아래 관련 글 참고 *자세한 설명 생략 ▷ Project 전체 구조 *파일 이름으로 검색 가능
coding-today.tistory.com
'▶ Back-End > Server' 카테고리의 다른 글
Docker Cluster(Swarm 모드)구성 방법 (0) | 2023.09.18 |
---|---|
Linux Docker 설치 방법 (0) | 2023.09.15 |
Visual Studio Code 설치 방법 (0) | 2022.11.10 |
IntelliJ(Community) SpringBoot Project 생성 (0) | 2022.11.08 |
IntelliJ(Community) 설치 방법 + Eclipse 단축키 설정 (0) | 2022.11.08 |
댓글