Como instalar o MongoDB com o Docker

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.

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:

  1. Abra o PowerShell ou o prompt de comando como administrador.
  2. 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
  1. 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á:

  1. –name mongo atribui o nome do mongo ao contêiner.
  2. -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.
  3. -d executa o contêiner em segundo plano (modo desanexado).
  4. Mongo especifica a imagem usada para criar o contêiner.
  5. 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).

  1. 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:

  1. Abra um terminal e faça login como root ou como um usuário com direitos sudo.
  2. 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
  1. 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.

  1. 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).

  1. 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.

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!

Últimos artigos