Catálogo 'Fast Food' de Serviços Docker
Descrição
Este Repositório contem os meus scripts de inicialização rápida dos serviços Docker que eu mais costumo usar.
A idéia é ter um arsenal de serviços prontos para uso sem muita complicação, bastando apenas executar um único comando para subir o serviço, e outro para desliga-lo.
Esse catálogo tem serviços diversos como bancos de dados, serviços de mensageria, cache, armazenamento web, etc., bastando um comando do tipo npm run {nome do serviço} para inicia-los.
Vantagens
Com esse Catálogo, você pode usar qualquer um dos serviços inclusos diretamente no seu computador SEM PRECISAR INSTALAR NEM CONFIGURAR nenhum servidor, salvando assim os preciosos recursos de memória, espaço e tempo de processador, pois você só usará os serviços quando precisar, e os desligará ao terminar, de maneira que seu sistema operacional não será afetado em absolutamente nada.
Acesso aos containers e seus serviços
Quase todos os containers estão usando como usuário principal estas credenciais:
username: root
password: rootpass
Requisitos mínimos do sistema
Esta é a lista dos softwares que eu uso e suas versões. É bem provável que funcione perfeitamente mesmo com versões um pouco anteriores a essas.
Nodejs 8.11.3 ou superior
npm 6.5.0 ou superior
Docker 18 ou superior
Obviamente, estou usando Linux.
Lista de serviços e como usá-los
Redis
Principais casos de uso: Serviço de banco de dados não relacional, cache e broker.
Para iniciar:
npm run redis
Para desligar:
npm run stop:redis
Minio
Principais casos de uso: Serviço de armazenamento de arquivos para Web
Para iniciar:
npm run minio
Para desligar:
npm run stop:minio
Apache ActiveMQ
Principais casos de uso: Message Broker
Para iniciar:
npm run activemq
Para desligar:
npm run stop:activemq
Para acessar o serviço via navegador web:
http://localhost:8161
RabbitMQ
Principais casos de uso: Message Broker
Para iniciar:
npm run rabbitmq
Para desligar:
npm run stop:rabbitmq
Para acessar o serviço via navegador
http://localhost:8080
MongoDB
Principais casos de uso: Banco de Dados não-relacional
Para iniciar:
npm run mongodb
Para desligar:
npm run stop:mongodb
Para acessar o container:
npm run shell:mongodb
Microsoft Sql Server (Linux)
Principais casos de uso: Banco de dados Relacional
Dados de conexão:
username: SA
password: !SenhaDificil%
schema: tempdb
Para iniciar uma instancia que PERSISTE os dados no repositório:
npm run mssql:persistent
Para iniciar uma instancia simples (não salva os dados)
npm run mssql:test
Para desligar:
npm run stop:mssql
Para acessar o container:
npm run shell:mssql
Postgre-Sql
Principais casos de uso: Banco de dados Relacional (O melhor de todos!)
Para iniciar uma instancia que PERSISTE os dados no repositório:
npm run postgre:persistent
Para iniciar uma instancia simples (não salva os dados)
npm run postgre:test
Para se conectar via terminal ao container ( Necessário postgresql-client )
npm run shell:postgre
Para desligar:
npm run stop:postgre
Elasticsearch
Principais casos de uso: Banco de dados indexado não relacional baseado em requisições http
Para iniciar uma instancia simples (não salva os dados)
npm run elasticsearch
Para desligar:
npm run stop:elasticsearch
Kibana
Principais casos de uso: geração de gráficos com base em dados indexados no Elasticsearch
Para iniciar uma instancia simples
npm run kibana
Para desligar:
npm run stop:kibana
Spotfy Downloader
Um projeto interessante que achei quando procurei formas de baixar playlists inteiras direto do Spotfy.
Principais casos de uso: Recreação. Este Docker faz o Download de playlists inteiras do spotfy
Comece baixando o índice da playlist dando o link (copie do navegador) como parâmetro
npm run spotfy:index {URL-DA-PLAYLIST}
exemplo:
npm run spotfy:index https://open.spotify.com/playlist/4fiw57jeMepokneIvlu09q
Depois de baixar o índice, é só baixar tudo de uma vez. ja convertendo em mp3 automagicamente.
npm run spotfy:dl
Todas as músicas estarão na pasta 'musicas' que será gerada na raiz desse repositório.
Este container não precisa ser parado, pois está configurado para morrer automaticamente ao terminar o download das músicas.
Sonarqube (Serviço de análise de qualidade de código)
Sonarqube é um serviço que recebe resultados de scaneamentos locais com o sonar-scanner e analisa o código em varios aspectos interessantes.
Para levantar esse serviço, entre no diretório sonarqube deste repositório, e então execute o comando:
docker-compose up
Parar todos os containers em execução
Para parar todos os containers em execução e liberar seus recursos:
npm run stop:all