1
0
mirror of https://github.com/vimagick/dockerfiles.git synced 2024-12-23 01:39:27 +02:00
dockerfiles/mosquitto/README.md

87 lines
2.7 KiB
Markdown
Raw Normal View History

2015-12-08 18:57:14 +02:00
mosquitto
=========
![](https://badge.imagelayers.io/vimagick/mosquitto:latest.svg)
[Mosquitto][1] is an open source (BSD licensed) message broker that implements
2016-11-02 19:34:54 +02:00
the MQ Telemetry Transport protocol versions 3.1 and 3.1.1.
2015-12-08 18:57:14 +02:00
2015-12-08 19:02:10 +02:00
## docker-compose.yml
2016-11-02 19:34:54 +02:00
```yaml
2015-12-08 19:02:10 +02:00
mosquitto:
image: vimagick/mosquitto
ports:
- "1883:1883"
2016-11-02 19:34:54 +02:00
- "8883:8883"
volumes:
- ./mosquitto.conf:/etc/mosquitto/mosquitto.conf
- ./data:/var/lib/mosquitto
2015-12-08 19:02:10 +02:00
restart: always
```
2016-11-02 19:34:54 +02:00
## mosquitto.conf
```
port 8883
log_dest stdout
password_file /var/lib/mosquitto/passwd
persistence true
persistence_location /var/lib/mosquitto
cafile /var/lib/mosquitto/ca.crt
certfile /var/lib/mosquitto/server.crt
keyfile /var/lib/mosquitto/server.key
require_certificate false
```
- `passwd` is managed by [mosquitto_passwd][3].
- TLS keys are generated by [openssl][2].
> It is important to use different certificate subject parameters for your CA,
> server and clients.
## server
```
$ docker-compose up -d
$ docker-compose logs -f
Attaching to mosquitto_mosquitto_1
mosquitto_1 | 1478107412: mosquitto version 1.4.8 (build date 2016-05-16 14:17:19+0000) starting
mosquitto_1 | 1478107412: Config loaded from /etc/mosquitto/mosquitto.conf.
mosquitto_1 | 1478107412: Opening ipv4 listen socket on port 8883.
mosquitto_1 | 1478107412: Opening ipv6 listen socket on port 8883.
mosquitto_1 | 1478107437: New connection from 192.168.31.102 on port 8883.
mosquitto_1 | 1478107437: New client connected from 192.168.31.102 as mosqsub/38158-Kevins-Ma (c1, k60).
mosquitto_1 | 1478107585: New client connected from 192.168.31.102 as mosqpub/38324-Kevins-Ma (c1, k60).
mosquitto_1 | 1478107585: Client mosqpub/38324-Kevins-Ma disconnected.
```
## client
```bash
$ mosquitto_sub -d -h 192.168.31.231 -p 8883 --cafile ca.crt --insecure -t hello
Client mosqsub/38158-Kevins-Ma sending CONNECT
Client mosqsub/38158-Kevins-Ma received CONNACK
Client mosqsub/38158-Kevins-Ma sending SUBSCRIBE (Mid: 1, Topic: hello, QoS: 0)
Client mosqsub/38158-Kevins-Ma received SUBACK
Subscribed (mid: 1): 0
Client mosqsub/38158-Kevins-Ma sending PINGREQ
Client mosqsub/38158-Kevins-Ma received PINGRESP
received PUBLISH (d0, q0, r0, m0, 'hello', ... (5 bytes))
world
Client mosqsub/38158-Kevins-Ma sending PINGREQ
Client mosqsub/38158-Kevins-Ma received PINGRESP
```
```bash
$ mosquitto_pub -d -h 192.168.31.231 -p 8883 --cafile ca.crt --insecure -t hello -m world
Client mosqpub/38324-Kevins-Ma sending CONNECT
Client mosqpub/38324-Kevins-Ma received CONNACK
Client mosqpub/38324-Kevins-Ma sending PUBLISH (d0, q0, r0, m1, 'hello', ... (5 bytes))
Client mosqpub/38324-Kevins-Ma sending DISCONNECT
```
2015-12-08 18:57:14 +02:00
[1]: http://mosquitto.org/
2016-11-02 19:34:54 +02:00
[2]: https://mosquitto.org/man/mosquitto-tls-7.html
[3]: https://mosquitto.org/man/mosquitto_passwd-1.html