Introduction: Reactive Microservices for Internet of Things

Nestas instruções, veremos como puxar e utilizar uma versão customizada do servicemix, com um broker original instalado, puxando-o do docker hub.

Step 1: Instalando O Docker

Para instalar o docker, siga as instruções presentes em:

https://www.digitalocean.com/community/tutorials/...

E certifique-se de que o docker foi corretamente instalado na máquina. Alguns computadores com Linux já vem com o docker instalado nativamente.

Step 2: Puxando a Imagem Do Servicemix Customizado

Após confirmar a instalação do docker, utilize o comando:

docker pull zesampaio/servicemix_broker:latest

Este comando irá puxar a imagem que está no docker hub para a sua máquina. Espere até que todas as layers tenham sido propriamente puxadas e siga para o próximo passo.

Step 3: Abrindo O Servicemix

Após a instalação completa, utilize o comando:

docker run -i -t zesampaio/servicemix_broker:latest

Para iniciar o servicemix. É importante ressaltar aqui que este container está no modo interativo e que o comando ctrl d ou system:shutdown vão parar o container também, então caso queira realizar alguma alteração no container, faça-a em outra aba no terminal.

Esta imagem com o servicemix já vem com o webconsole instalado. Para acessá-lo basta entrar no endereço: http://172.17.0.2:8181/system/console ou então, caso não seja encontrado, seguir os seguintes passos:

Usar o comando:

docker container ls

Ao lado esquerdo do nome zesampaio/servicemix_broker:latest haverá uma série de números e caracteres, que chama-se container ID, e é gerado aleatoriamente no momento da criação do container. De posse do container ID, utilize o seguinte comando:

docker inspect CONTAINER ID -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'

Ele retornará o endereço de IP ocupado pelo container, substitua o endereço 172.17.0.2 pelo encontrado no comando e o webconsole deve abrir normalmente.

Ao acessar o webconsole com o usuário karaf e senha karaf, utilizando o comando ctrl f no navegador, busque pela palavra “mqtt” que só retornará um único resultado: MQTT Broker based on Vert.x reactive-broker-mqtt que constará como ativo, ou seja, o broker já está instalado e pronto para ser utilizado. Nota: Caso por acidente o usuário acabe reinstalando o webconsole, o bundle não funcionará corretamente, e será necessário ou reinstalar as dependências ou simplesmente utilizar um ctrl d e reiniciar o container.

Step 4: (Opcional) Caso Precise Alterar Alguma Pasta

Em caso do usuário perceber que precisa alterar algumas configuração ou arquivo nas pastas do servicemix, como por exemplo acrescentar um certificado na pasta /etc, só é necessário que utilize o comando:

docker exec -it bash

Em outra aba do terminal. Ao utilizar esse comando, o terminal abrirá um prompt já no diretório do apache servicemix, daí só sendo necessário realizar as alterações e fechar esta aba. É importante ressaltar que a partir do momento em que se altera qualquer pasta, o que segura as mudanças é o container, logo somente reiniciando o container com o comando:

docker restart

Que as mudanças feitas serão salvas.