MongoDB - Utilizando o MongoDB de forma rápida e prática com docker compose
1. Cenário
Neste artigo vamos explorar o docker compose
com o MongoDb. Vamos imaginar o seguinte cenário. Precisamos desenvolver uma API e realizar a persistência em um banco de dados Mongo. Anteriormente ao advento do docker, era necessário a instalação de todas as aplicações e serviços para utilizarmos o banco de dados, quem nunca sofreu com isso que atire a primeira pedra!
Agora, com a facilidade da utilização de conteiners, podemos “levantar” uma instância de Mongo (entre tantos outros bancos) apenas com um comando! Segue aqui alguns pontos importantes para a utilização do conteiner com o banco de dados:
- Fácil utilização sem a necessidade de instalações adicionais, basta termos o docker instalado em nossa estação de trabalho.
- Velocidade de utilização, basta levantar um contêiner e pronto, seu banco de dados está pronto para utilização.
- É possível inserirmos testes integrados no momento do deploy. Configuramos na esteira de deploy a execução dos serviços ou aplicações com a integração com o banco de dados. Isso conta com maior qualidade de código e maior cobertura de testes.
O foco aqui será para levantarmos o banco, mas quando tiver seu serviço ou aplicação, adicione o mesmo no arquivo docker compose
para execução de todo o escopo em contêiner, enquanto em tempo de desenvolvimento faça a conexão de sua aplicação ou serviço diretamente ao contêiner.
1. Criando o arquivo docker compose
Na raiz da pasta de sua solução, crie um arquivo chamado docker-compose.yml
. Para levantarmos o mongo, basta inserir o conteúdo abaixo no arquivo criado.
name: "example.mongo"
services:
mongo:
container_name: ex-mongo
image: mongo
restart: always
ports:
- 27017:27017
volumes:
- mongo-db-volume:/data/db
environment:
- MONGO_INITDB_DATABASE=test
- MONGO_INITDB_ROOT_USERNAME=mongoadmin
- MONGO_INITDB_ROOT_PASSWORD=secret
volumes:
mongo-db-volume:
external: false
Salve o arquivo, abra o terminal e execute o comando abaixo:
$ docker compose up
Com esta execução, estaremos deixando o nosso terminal exibindo os logs
de interação com o mongo. Teremos um resultado semelhante a este:
Abrindo uma nova instância de seu terminal, vamos conferir o contêiner que está em execução com nossa parametrização:
Execute o código abaixo para listar os contêiners que estão em execução:
$ docker container ps
Teremos um resultado semelhante ao abaixo:
Para pararmos o contêiner e excluirmos o volume criado, basta executar o comando abaixo:
$ docker container down -v
Teremos um resultado semelhante ao abaixo:
Após a execução do comando, utilize o comando docker conteiner ps
para certificar que o mesmo está parado. Para certificar se o volume foi excluído, utilize o comando docker image ls
2. Conectando ao nosso banco com o aplicativo MongoDB Compass
O MongoDB Compass é uma GUI gratuita para conexão com o MongoDb. Você pode ter mais informações e realizar o download neste link. Utilizaremos esta ferramenta para conectarmos na instência que acabamos de criar.
Abrindo a ferramenta, será apresentado uma área para a conexão.
A conexão padrão para o localhost
é mongodb://localhost:27017
. Iremos apenas adicionar as informações de autenticação que configuramos em nosso arquivo docker compose
. Para inserir as informações de autenticação, clique em Advanced Connection Options
e selecione a opção Username/Password
. Iremos preencher conforme a imagem abaixo:
Após o preenchimento, basta clicar em Connect
que a conexão deverá ser realizada com sucesso. O resultado será apresentado como a imagem abaixo:
Importante: So banco test
só será criado após a inserção de uma primeira collection
.
Este foi um artigo rápido com a intenção de facilitar e otimizar seu dia a dia. Teremos mais artigos para explorarmos o docker compose
e o MongoDB.
Se você gostou do conteúdo, deixe um comentário ou uma reação para apoiar o projeto! Compartilhe com alguém e ajude a divulgar!
[]´s
Degas