Passo a passo para subir o MongoDB no Docker

Por Gaspar Barancelli Junior em 02 de janeiro de 2025

O MongoDB é um dos bancos de dados NoSQL mais populares do mercado, bastante utilizado por conta de sua flexibilidade e escalabilidade. Se você quer testar, estudar ou rodar o MongoDB rapidamente, usar contêineres Docker é uma ótima opção, pois permite criar ambientes isolados de forma fácil e reprodutível.

Neste guia, mostrarei um passo a passo simples para subir o MongoDB em um container Docker, configurando persistência de dados e acessos básicos.

1. Pré-requisitos

  1. Docker instalado: Certifique-se de ter o Docker instalado em sua máquina. Você pode verificar usando o comando:

docker --version

Se você ainda não tem o Docker instalado, você pode seguir as instruções oficiais de instalação para a sua plataforma: https://docs.docker.com/engine/install/.

  1. Docker Hub acessível: Terá que fazer o login caso use imagens privadas, mas para a imagem pública do MongoDB, basta ter acesso à internet.

2. Baixando a imagem do MongoDB

O primeiro passo é puxar a imagem oficial do MongoDB no Docker Hub. Podemos usar o comando abaixo:

docker pull mongo

Esse comando baixa a última versão estável do MongoDB disponibilizada pela equipe oficial no Docker Hub.

Se você precisar de uma versão específica, basta adicionar :versão ao final, por exemplo:

docker pull mongo:6.0

3. Criando um container do MongoDB

Para criar e iniciar um container do MongoDB, podemos usar o comando docker run. Abaixo está um exemplo básico:

docker run -d \
  --name meu-mongo \
  -p 27017:27017 \
  mongo
  • -d: Significa “detached mode”, ou seja, o container rodará em segundo plano.

  • --name: Define um nome para o container, facilitando a identificação (aqui, escolhi “meu-mongo”).

  • -p 27017:27017: Faz o mapeamento de portas, permitindo acesso localmente na porta 27017.

  • mongo: É o nome da imagem que rodaremos (a mais recente que puxamos).

Assim que o container iniciar, você já terá um MongoDB executando localmente na porta 27017.

4. Persistindo dados com um volume

O MongoDB precisa salvar dados em disco para que possamos reiniciar o container sem perder informações. Para manter esses dados de forma persistente, vamos mapear um volume local. Basta adicionar a opção -v ao comando:

docker run -d \
  --name meu-mongo \
  -p 27017:27017 \
  -v /caminho/local/para/dados:/data/db \
  mongo
  • -v /caminho/local/para/dados:/data/db: Define que tudo que for salvo dentro de /data/db (local padrão do MongoDB dentro do container) será escrito também em nossa máquina local, evitando perda de dados.

EXEMPLO DE CAMINHO LOCAL EM WINDOWS: C:\Users\SeuUsuario\mongo-data

EXEMPLO DE CAMINHO LOCAL EM LINUX OU MACOS: /home/seuusuario/mongo-data

5. Verificando se o container está em execução

Para verificar se o container está rodando corretamente, execute:

docker ps

Você deve ver algo como:

CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                      NAMES
123456789abc   mongo     "docker-entrypoint.s…"   29 seconds ago  28 seconds ago 0.0.0.0:27017->27017/tcp   meu-mongo

6. Conectando no MongoDB

Para testar o acesso, você pode usar:

6.1. Mongo Shell dentro do próprio container

docker exec -it meu-mongo mongosh

Em seguida, pode rodar os seguintes comandos como:

Comando:

show dbs

Resultado:

admin    8.00 KiB
config  12.00 KiB
local    8.00 KiB

Comando:

use blog

Resultado:

switched to db blog

Comando:

db.autor.insertOne({ nome: "Gaspar", idade: 30 })

Resultado:

{
  acknowledged: true,
  insertedId: ObjectId('6776d0f31e588a123efc0421')
}

Comando:

db.autor.find()

Resultado:

[
  {
    _id: ObjectId('6776d0f31e588a123efc0421'),
    nome: 'Gaspar',
    idade: 37
  }
]

6.2. Cliente MongoDB na sua máquina

Se você tiver instalado o mongosh localmente, basta conectar usando:

mongosh "mongodb://localhost:27017"

7. Parando e removendo o container

Se precisar parar o container, utilize:

docker stop meu-mongo

E para removê-lo completamente:

docker rm meu-mongo

Se você não estiver usando volumes persistentes (ou seja, sem mapear /data/db para o host), remover o container pode resultar em perda de dados gravados nele.

8. Exemplo com Docker Compose (Opcional)

Para quem prefere definir tudo em um arquivo docker-compose.yml, eis um exemplo:

version: '3.8'
services:
  mongodb:
    image: mongo
    container_name: meu-mongo
    ports:
      - "27017:27017"
    volumes:
      - ./data:/data/db

Depois, basta executar:

docker-compose up -d

Esse arquivo cria um serviço chamado mongodb, mapeia a porta 27017 e também cria um volume persistente na pasta ./data.

Conclusão

Executar o MongoDB em contêineres Docker é rápido e prático, além de facilitar o isolamento do ambiente. Nesse guia, você aprendeu a:

  1. Baixar a imagem oficial do MongoDB.

  2. Criar um container com portas expostas.

  3. Configurar volumes para persistência de dados.

  4. Testar a conexão ao banco localmente.

Com esse passo a passo, você já tem tudo o que precisa para criar um ambiente de desenvolvimento com MongoDB em minutos. Agora é só começar a explorar, criar coleções e armazenar dados de forma rápida e segura!

// Compartilhe esse Post

💫
🔥 NOVO APP

Domine o Inglês em 30 dias!

Inteligência Artificial + Repetição Espaçada • Método cientificamente comprovado

✅ Grátis para começar 🚀 Resultados rápidos
×