Translate

2016年1月12日火曜日

Docker上でpublicイメージansi/mosquittoを使ってMosquittoをあげてみる



Proxy環境内で動作するMQTTブローカが必要になったので
DockerHubを検索してみた。

残念ながらOfficialがなかったので
一番ダウンロードの多い"ansi/mosquitto"を試してみた。

publicイメージなので、以下試したい人はat your own riskでやってください。



サイトのREADME.mdは超シンプル。

sudo docker pull ansi/mosquitto で取得して
sudo docker run -p 1883:1883 --name mosquitto -d ansi/mosquittoで実行しろ

としか書かれていない。

実行後、sudo docker exec -it mosquitto /bin/sh して
シェル対話実行可能状態にする。

Mosquitoには、コマンドでpublish/subscribeできる
コマンドmosquitto_pubmosquitto_subがあるので
Subscribeしたら標準出力させるように
mosquitto_subを使って動作確認してみる。

ldd /usr/local/bin/mosquitto_subすると、
/usr/local/libへのパスがないことがわかったので、
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib して
SOライブラリのパスを増やして
mosquitto_sub -t <Subscribeしたいトピック> で実行して
別のマシンでpublishしたらつながった。
#Publisher側プログラムがない人はmosquitto_pubを代わりに別ターミナルで動かせばいい

これで、
いちいちローカルにインストールしないでも
Mosquittoが使えるようになった。






ニワカIoT屋の人にもDocker環境は便利だ;-p

0 件のコメント:

既存アプリケーションをK8s上でコンテナ化して動かす場合の設計注意事項メモ

既存アプリをK8sなどのコンテナにして動かすには、どこを注意すればいいか..ちょっと調べたときの注意事項をメモにした。   1. The Twelve Factors (日本語訳からの転記) コードベース   バージョン管理されている1つのコードベースと複数のデプロイ 依存関係 ...