MQTT ブローカー
MQTTブローカーは、すべてのクライアントメッセージを受信し、適切な宛先クライアントにメッセージをルーティングするサーバーです。MQTTクライアントは、MQTTライブラリを実行し、ネットワーク経由でMQTTブローカーに接続する任意のデバイス(マイクロコントローラーから本格的なサーバーまで)です。
オープンソースのMQTTブローカーであるLEAPS Mosquittoは、Dockerイメージ eclipse-mosquitto:1.5.11 のコピーで、カスタムの mosquitto.conf
ファイルが /mosquitto/config/mosquitto.conf
に統合されています。詳細については、eclipse-mosquitto を参照してください。
インストール
システム要件
注釈
Dockerのシステム要件は、オペレーティングシステムによって異なります。
Linuxの場合、64ビットアーキテクチャ、互換性のあるカーネルバージョン、および特定のカーネル機能が必要です。
Windowsでは、仮想化を有効にしたWindows 10でDocker Desktopを使用してください。
macOSでは、macOS 10.13以降でDocker Desktopを使用してください。ハードウェア要件としては、最低2GBのRAMに加え、十分なCPUとディスク容量が必要です。
最新の情報については、Docker 公式ドキュメントを参照してください。
使用方法
PCにDockerをインストールする
さらに、以下のコマンドを参考にしてインストールすることもできる:
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh ./get-docker.sh sudo usermod -aG docker $USER
PCでコマンドプロンプトまたはターミナルウィンドウを開き、LEAPS Mosquitto Dockerパッケージをインストールします。次のコマンドを実行します。
docker run -d -p 1883:1883/tcp -p 15675:15675 --name some_name leapslabs/leaps_mosquitto:latest mosquitto ---cfg /mosquitto/config/mosquitto.conf
some_name
はコンテナに割り当てる名前、tag
は必要なleaps-mosquitto
のバージョンを指定するタグです。
推奨される走行オプション
--user $(id -u):$(id -g)
特定のユーザーとグループの下でインスタンスを実行する。
--restart unless-stopped
サーバーがクラッシュした場合にインスタンスを自動的に再起動する。
LEAPS Mosquittoのインストールプロセスが開始されます。
たとえば、Ubuntu (Linux) の場合:
docker run -d -p 1883:1883/tcp -p 15675:15675 --name leaps_mosquitto leapslabs/leaps_mosquitto:latest mosquitto ---cfg /mosquitto/config/mosquitto.conf Unable to find image 'leapslabs/leaps_mosquitto:latest' locally latest: Pulling from leapslabs/leaps_mosquitto f7dab3ab2d6e: Already exists 2a0a6c9fa787: Already exists a211eff771d6: Already exists d362e2a9c11b: Already exists Digest: sha256:a97752d6e2d81e2701c7cd5f807eb4256322983f8aa3135da8235b647e6a9b4e Status: Downloaded newer image for leapslabs/leaps_mosquitto:latest 1f526e755ad9a356c439003b93c200802628ae9bc046827e7327d0334804b565
インストールが成功したことを確認し、実行する:
たとえば、Ubuntu (Linux) の場合:
docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b1145b72db35 leapslabs/leaps_mosquitto:latest "sh -c 'cd /app && …" 37 seconds ago 11 seconds ago leaps_mosquitto
これで、LEAPS MosquittoがPCにインストールされ、起動しました。
はじめに
LEAPSモスキートドッカー
LEAPS Mosquittoを起動します。
docker start leaps_mosquitto
を実行します。LEAPS Mosquittoを停止します。
docker stop leaps_mosquitto
を実行します。LEAPS Mosquittoを再起動します。
docker restart leaps_mosquitto
を実行します。LEAPS Mosquittoを削除します。
docker rm --force leaps_mosquitto
を実行します。
カスタマイズオプション
必須オプション
ポート1883 - デフォルトのリスナーポート
リスナー1884 - 1884でリスナーを有効化
リスナー15675 - 15675でリスナーを有効化
推奨オプション
user mosquitto - ルート権限を削除
max_inflight_messages 200 - 一度に送信できるQoS1の数が少ないため、クライアントあたりのインファイティングQoSメッセージ数を増やします。
max_queued_messages 1000 - クライアントあたりのキューに保持するQoS1およびQoS2メッセージの最大数を、現在処理中のメッセージ数より増やします。
allow_zero_length_clientid true - クライアントIDの長さを0にすることを許可
persistent_client_expiration 14d - 設計が不適切なクライアントからの自動保護
トラブルシューティング
LEAPS Mosquittoを再起動するには、以下のコマンド``docker restart leaps_mosquitto``を使用します。
LEAPS Mosquittoの実行中にログを確認し、Dockerデスクトップを開いてleaps_mosquittoコンテナを選択します。