diff --git a/docker/1.4.4/Dockerfile b/docker/1.4.4/Dockerfile new file mode 100644 index 00000000..b568aeda --- /dev/null +++ b/docker/1.4.4/Dockerfile @@ -0,0 +1,13 @@ +FROM alpine:3.3 +MAINTAINER David Audet + +LABEL Description="Eclipse Mosquitto MQTT Broker" + +RUN apk --no-cache --update add mosquitto=1.4.4-r0 && \ + mkdir -p /mosquitto/config /mosquitto/data /mosquitto/log && \ + cp /etc/mosquitto/mosquitto.conf /mosquitto/config && \ + chown -R mosquitto:mosquitto /mosquitto + +COPY docker-entrypoint.sh / +ENTRYPOINT ["/docker-entrypoint.sh"] +CMD ["/usr/sbin/mosquitto", "-c", "/mosquitto/config/mosquitto.conf"] diff --git a/docker/1.4.4/README.md b/docker/1.4.4/README.md new file mode 100644 index 00000000..795dd2b1 --- /dev/null +++ b/docker/1.4.4/README.md @@ -0,0 +1,49 @@ +#Eclipse Mosquitto v1.4.4 Docker Image + +##Mount Points + +Three mount points have been created in the image to be used for configuration, persistent storage and logs. +``` +/mosquitto/config +/mosquitto/data +/mosquitto/log +``` + + +##Configuration + +When running the image, the default configuration values are used. +To use a custom configuration file, mount a **local** configuration file to `/mosquitto/conf/mosquitto.conf` +``` +docker run -it -p 1883:1883 -p 9001:9001 -v mosquitto.conf:/mosquitto/data/mosquitto.conf mosquitto:1.4.4 +``` + +Configuration can be changed to: + +* persist data to `/mosquitto/data` +* log to `/mosquitto/log/mosquitto.log` + +i.e. add the following to `mosquitto.conf`: +``` +persistence true +persistence_location /mosquitto/data/ + +log_dest file /mosquitto/log/mosquitto.log +``` + +**Note**: If a volume is used, the data will persist between containers. + +##Build +Build the image: +``` +docker build -t mosquitto:1.4.4 . +``` + +##Run +Run a container using the new image: +``` +docker run -it -p 1883:1883 -p 9001:9001 -v mosquitto.conf:/mosquitto/data/mosquitto.conf -v /mosquitto/data -v /mosquitto/log mosquitto:1.4.4 +``` +:boom: if the mosquitto configuration (mosquitto.conf) was modified +to use non-default ports, the docker run command will need to be updated +to expose the ports that have been configured. \ No newline at end of file diff --git a/docker/1.4.4/docker-entrypoint.sh b/docker/1.4.4/docker-entrypoint.sh new file mode 100755 index 00000000..1a9fc8d0 --- /dev/null +++ b/docker/1.4.4/docker-entrypoint.sh @@ -0,0 +1,5 @@ +#!/bin/ash + +set -e +exec "$@" + diff --git a/docker/1.4.8/Dockerfile b/docker/1.4.8/Dockerfile new file mode 100644 index 00000000..b005b530 --- /dev/null +++ b/docker/1.4.8/Dockerfile @@ -0,0 +1,13 @@ +FROM alpine:3.4 +MAINTAINER David Audet + +LABEL Description="Eclipse Mosquitto MQTT Broker" + +RUN apk --no-cache --update add mosquitto=1.4.8-r2 && \ + mkdir -p /mosquitto/config /mosquitto/data /mosquitto/log && \ + cp /etc/mosquitto/mosquitto.conf /mosquitto/config && \ + chown -R mosquitto:mosquitto /mosquitto + +COPY docker-entrypoint.sh / +ENTRYPOINT ["/docker-entrypoint.sh"] +CMD ["/usr/sbin/mosquitto", "-c", "/mosquitto/config/mosquitto.conf"] diff --git a/docker/1.4.8/README.md b/docker/1.4.8/README.md new file mode 100644 index 00000000..fd8ae40a --- /dev/null +++ b/docker/1.4.8/README.md @@ -0,0 +1,49 @@ +#Eclipse Mosquitto v1.4.8 Docker Image + +##Mount Points + +Three mount points have been created in the image to be used for configuration, persistent storage and logs. +``` +/mosquitto/config +/mosquitto/data +/mosquitto/log +``` + + +##Configuration + +When running the image, the default configuration values are used. +To use a custom configuration file, mount a **local** configuration file to `/mosquitto/conf/mosquitto.conf` +``` +docker run -it -p 1883:1883 -p 9001:9001 -v mosquitto.conf:/mosquitto/data/mosquitto.conf mosquitto:1.4.8 +``` + +Configuration can be changed to: + +* persist data to `/mosquitto/data` +* log to `/mosquitto/log/mosquitto.log` + +i.e. add the following to `mosquitto.conf`: +``` +persistence true +persistence_location /mosquitto/data/ + +log_dest file /mosquitto/log/mosquitto.log +``` + +**Note**: If a volume is used, the data will persist between containers. + +##Build +Build the image: +``` +docker build -t mosquitto:1.4.8 . +``` + +##Run +Run a container using the new image: +``` +docker run -it -p 1883:1883 -p 9001:9001 -v mosquitto.conf:/mosquitto/data/mosquitto.conf -v /mosquitto/data -v /mosquitto/log mosquitto:1.4.8 +``` +:boom: if the mosquitto configuration (mosquitto.conf) was modified +to use non-default ports, the docker run command will need to be updated +to expose the ports that have been configured. diff --git a/docker/1.4.8/docker-entrypoint.sh b/docker/1.4.8/docker-entrypoint.sh new file mode 100755 index 00000000..1a9fc8d0 --- /dev/null +++ b/docker/1.4.8/docker-entrypoint.sh @@ -0,0 +1,5 @@ +#!/bin/ash + +set -e +exec "$@" + diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 00000000..6fe5506c --- /dev/null +++ b/docker/README.md @@ -0,0 +1,4 @@ +# Docker Images + +This directory contains the required files to build Mosquitto Docker images. +