O MongoDB é um dos bancos de dados NoSQL mais populares do mundo, oferecendo flexibilidade, desempenho e alta escalabilidade. O MongoDB pode armazenar e gerenciar dados estruturados e não estruturados, como documentos, gráficos, mídia e muito mais. O MongoDB também oferece suporte a recursos avançados, como indexação, agregação, replicação, fragmentação e transações.
O Docker é uma plataforma de software que permite criar, executar e distribuir aplicativos usando contêineres. Um contêiner é uma unidade de software isolada do ambiente circundante, que contém tudo o que um aplicativo precisa para funcionar, como código, bibliotecas, dependências e configurações. Com o Docker, você pode garantir que seus aplicativos possam ser executados sem problemas em qualquer lugar, sem se preocupar com compatibilidade ou dependências.
A instalação do MongoDB com o Docker é uma maneira fácil e rápida de criar um banco de dados MongoDB em seu computador. Você não precisa baixar ou instalar manualmente o MongoDB, pois o Docker cuidará de todos os processos para você. Você também pode aproveitar os recursos do Docker, como volume, rede e composição, para gerenciar melhor seu banco de dados MongoDB.
Neste artigo, Bardimin explicará passo a passo como instalar o MongoDB com o Docker no Windows. Também fornecerei algumas dicas e truques para otimizar o uso do MongoDB com o Docker.
Requisito
Antes de instalar o MongoDB com o Docker, você precisa atender aos seguintes requisitos:
- Você deve ter o Docker instalado em seu computador. Se você ainda não tiver o Docker, poderá fazer o download e instalá-lo no site oficial do Docker.
- Você deve ter uma conexão estável com a Internet para baixar imagens do MongoDB do Docker Hub.
- Você deve ter espaço em disco suficiente para armazenar imagens e dados do MongoDB.
Instalar o MongoDB com o Docker no Windows
Para instalar o MongoDB com o Docker no Windows, siga estas etapas:
- Abra o PowerShell ou o prompt de comando como administrador.
- Execute o seguinte comando para criar um novo diretório na unidade C: que será usado como um volume para armazenar dados do MongoDB:
mkdir C:\data\db
- Execute o seguinte comando para executar um contêiner do MongoDB chamado mongo usando uma imagem mongo do Docker Hub:
docker run --name mongo -v C:\data\db:/data/db -d mongo
Esse comando funcionará:
- –name mongo atribui o nome do mongo ao contêiner.
- -v C:\data\db:/data/db vincula o diretório C:\data\db no host ao diretório /data/db no contêiner como um volume. Esse volume será usado pelo MongoDB para armazenar dados.
- -d executa o contêiner em segundo plano (modo desanexado).
- Mongo especifica a imagem usada para criar o contêiner.
- Aguarde alguns instantes para que o contêiner termine de ser criado e executado. Você pode verificar o status do contêiner executando o seguinte comando:
docker ps
Esse comando exibirá uma lista dos contêineres atualmente em execução no seu computador. Você deverá ver um resultado como este:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5f0b9c8a9f0a mongo "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 27017/tcp mongo
Essa saída mostra que o contêiner mongo está sendo executado com uma imagem mongo e a porta 27017 (a porta padrão do MongoDB).
- Parabéns, você instalou com sucesso o MongoDB com o Docker no Windows! Agora você pode se conectar ao seu banco de dados MongoDB usando as ferramentas que mais gosta, como o MongoDB Shell, o MongoDB Compass ou os drivers do MongoDB para sua linguagem de programação favorita.
Instalação do MongoDB com o Docker no Linux
Para instalar o MongoDB com o Docker no Linux, siga estas etapas:
- Abra um terminal e faça login como root ou como um usuário com direitos sudo.
- Execute o seguinte comando para criar um novo diretório em /data/db que será usado como um volume para armazenar dados do MongoDB:
sudo mkdir -p /data/db
- Execute o seguinte comando para executar um contêiner do MongoDB chamado mongo usando uma imagem mongo do Docker Hub:
sudo docker run --name mongo -v /data/db:/data/db -d mongo
Esse comando fará as mesmas coisas que as descritas na seção anterior para o Windows.
- Aguarde alguns instantes para que o contêiner termine de ser criado e executado. Você pode verificar o status do contêiner executando o seguinte comando:
sudo docker ps
Esse comando exibirá uma lista dos contêineres atualmente em execução no seu computador. Você deverá ver uma saída como esta:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5f0b9c8a9f0a mongo "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 27017/tcp mongo
Essa saída indica que o contêiner mongo está sendo executado com uma imagem mongo e a porta 27017 (a porta padrão do MongoDB).
- Parabéns, você instalou com sucesso o MongoDB com o Docker no Linux! Agora você pode se conectar ao seu banco de dados MongoDB usando as ferramentas que mais gosta, como o MongoDB Shell, o MongoDB Compass ou os drivers do MongoDB para sua linguagem de programação favorita.
Outros artigos interessantes
Dicas e truques
Aqui estão algumas dicas e truques que podem ajudá-lo a otimizar o uso do MongoDB com o Docker:
- Se quiser interromper o contêiner do MongoDB, execute o seguinte comando:
docker stop mongo
- Se quiser excluir um contêiner do MongoDB, execute o seguinte comando:
docker rm mongo
- Se quiser excluir uma imagem do MongoDB, você pode executar o seguinte comando:
docker rmi mongo
- Se quiser especificar a versão específica do MongoDB que deseja usar, você pode adicionar uma tag de versão após o nome da imagem. Por exemplo, se quiser usar a versão 5.0 do MongoDB, você pode executar o seguinte comando:
docker run --name mongo -v /data/db:/data/db -d mongo:5.0
- Se quiser expor a porta do contêiner a uma porta de host diferente, use a opção -p. Por exemplo, se quiser expor a porta 27017 de um contêiner à porta 3000 do host, execute o seguinte comando:
docker run --name mongo -v /data/db:/data/db -p 30000:27017 -d mongo
- Se quiser executar várias instâncias do MongoDB no mesmo computador, será necessário fornecer nomes diferentes para cada contêiner e expor portas diferentes para cada contêiner. Por exemplo, se quiser executar duas instâncias do MongoDB denominadas mongo1 e mongo2 e expor as portas 27017 e 27018 do host, respectivamente, você poderá executar os seguintes comandos:
docker run --name mongo1 -v /data/db1:/data/db -p 27017:27017 -d mongo docker run --name mongo2 -v /data/db2:/data/db -p 27018:27017 -d mongo
- Se quiser usar o Docker Compose para gerenciar seus contêineres do MongoDB com mais facilidade, você pode criar um arquivo docker-compose.yml com conteúdo como este:
``` version: "3" services: mongo: image: mongo volumes: - /data/db:/data/db ports: - 27017:27017 ```
- Se você quiser conectar o MongoDB a outros aplicativos em execução em contêineres do Docker, poderá usar a rede interna do Docker para permitir a comunicação entre contêineres. Por exemplo, se quiser conectar o MongoDB a um aplicativo Node.js em execução em um contêiner de aplicativo, você pode criar um arquivo docker-compose.yml com conteúdo como este:
version: "3" services: mongo: image: mongo volumes: - /data/db:/data/db networks: - app-network app: image: node volumes: - /app:/app ports: - 3000:3000 networks: - app-network networks: app-network:
- Se quiser configurar o MongoDB com mais detalhes, use um arquivo de configuração personalizado que contenha as opções desejadas. Por exemplo, se quiser ativar a autenticação e a criptografia para o MongoDB, você poderá criar um arquivo mongod.conf com conteúdo como este:
systemLog: destination: file path: "/var/log/mongodb/mongod.log" logAppend: true storage: dbPath: "/data/db" journal: enabled: true net: port: 27017 bindIp: 0.0.0.0 tls: mode: requireTLS certificateKeyFile: "/etc/ssl/mongodb.pem" security: authorization: enabled
- Se quiser usar esse arquivo de configuração, deverá copiá-lo para um diretório que o contêiner do MongoDB possa acessar e fornecer o caminho desse arquivo como um argumento ao executar o contêiner. Por exemplo, se você copiar o arquivo mongod.conf para o diretório /etc/mongo no host, poderá executar o seguinte comando:
docker run --name mongo -v /etc/mongo:/etc/mongo -v /data/db:/data/db -d mongo --config /etc/mongo/mongod.conf
Conclusão
Usando o Docker, você pode criar um banco de dados MongoDB de forma fácil e rápida, sem se preocupar com compatibilidade ou dependências. Você também pode aproveitar os recursos do Docker, como volume, rede e composição, para gerenciar melhor seu banco de dados MongoDB.
Espero que este artigo tenha sido útil para aqueles que desejam saber como instalar o MongoDB com o Docker. Obrigado pela leitura!