Mosquitto 容器與 Node.js 測試

Mosquitto 原始碼建置 相同的建置流程,額外附一支 Node.js 測試腳本。Dockerfile 中保留了設定密碼檔、persistence 目錄等步驟的註解,可以視需要打開。

Dockerfile 重點

FROM ubuntu:14.04.2
RUN apt-get update && apt-get upgrade -y
RUN apt-get install wget libwrap0-dev libc-ares-dev xsltproc -y
RUN wget http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-libc-dev_3.2.0-23.36_amd64.deb
RUN dpkg -i linux-libc-dev_3.2.0-23.36_amd64.deb
RUN apt-get install build-essential libssl-dev uuid-dev -y
WORKDIR /home/root
RUN wget https://mosquitto.org/files/source/mosquitto-1.4.11.tar.gz
RUN tar xvzf mosquitto-1.4.11.tar.gz
WORKDIR mosquitto-1.4.11
RUN make && make install
USER mosquitto
WORKDIR /home/mosquitto

註解中保留的選用步驟:

# 建立密碼檔
# RUN mosquitto_passwd -c /etc/mosquitto/pwfile owntracks
# 建立 persistence 目錄
# RUN mkdir /var/lib/mosquitto/ && chown mosquitto:mosquitto /var/lib/mosquitto/ -R
# 從範例複製設定檔
# RUN cp /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf

Node.js 測試腳本

test.jsmqtt 套件連線並收發訊息:

npm install mqtt
node test.js

建置與執行

docker build -t mosquitto-test:1.4.11 .
docker run -d -p 1883:1883 --name mosquitto-test mosquitto-test:1.4.11 mosquitto

相關資源


← 回到 IoT 物聯網與訊息佇列

本目錄檔案