Creando un contenedor Docker de Mosquitto en QNAP-332X

Mosquitto es un servidor de mensajes de código abierto (con licencia EPL/EDL) que implementa las versiones 5.0, 3.1.1 y 3.1 del protocolo MQTT. Mosquitto es ligero y es adecuado para su uso en todos los dispositivos.

Para este tutorial debemos tener instalada la App Container Station en el NAS.

Paso 1- Crear del Dockerfile y enviar al NAS.

Creamos en nuestro ordenador un fichero al que llamaremos Dockerfile y meteremos lo siguiente:

# En mi caso uso la imagen de Ubuntu para arm64v8
# ya que se corresponde con el procesador de este modelo 

FROM arm64v8/ubuntu

RUN apt-get update 
RUN apt-get install -y mosquitto mosquitto-clients

# Opcional para ver ip dentro del contenedor
# quita el comentario a continuación
RUN apt-get install -y iproute2 net-tools iputils-ping

expose 1883/tcp

CMD ["/usr/sbin/mosquitto", "-c", "/etc/mosquitto/mosquitto.conf"]

Este archivo lo enviamos al NAS. Sólo tienes que meterlo en alguna carpeta que hayas compartido con en tu NAS.

Paso 2- Crear la imagen desde linea de comandos.

Realizamos una conexión ssh con el NAS.

ssh admin@<ip_del_NAS>

A continuación buscamos donde está el fichero Dockerfile que hemos subido al NAS con este comando:

find / | grep Dockerfile

Nos dirá el lugar donde está el archivo en mi caso devolvió:

> find / | grep Dockerfile
/share/CACHEDEV1_DATA/Compartida_NAS/docker/Dockerfile
find: /proc/12520: No such file or directory
...

Me voy al directorio donde está mi archivo Dockerfile, en mi caso haré (Tú tienes que poner tu directorio):

cd /share/CACHEDEV1_DATA/Compartida_NAS/docker/

A continuación crearé la imagen de Mosquitto:

docker build  -t mosquitto .

Paso 3- Crear el contenedor desde en Container Station.

Ahora accedemos al NAS via WEB, abrimos ContainerStation y vamos a Images. qnap-mosquitto

En imagen llamada mosquitto, le damos al signo + para crear un contenedor. Se nos abrirá una ventana prar crear el contenedor. Como queremos que tenga una dirección IP que sea vista desde la red local hacemos clic en Advanced Settings->Network y elegimos Bridge en Nework Mode. En mi caso le he puesto una dirección IP estática en el rango de mi red.

qnap-mosquitto-1

Desde que hagamos clic en Create podremos ver el contenedor ejecutándose en la sección Overview.

qnap-image-2

Ya nuestro servicio Mosquitto estará accesible desde la red local.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *