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.js 用 mqtt 套件連線並收發訊息:
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 物聯網與訊息佇列