Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Criar uma implantação local do Atlas com Docker

Este tutorial mostra como criar uma implantação local do Atlas com Docker. Este tutorial implanta um conjunto de réplicas de nó único com Docker. Para obter um exemplo completo e detalhado do Docker Compose, consulte Exemplo de composição do Docker.

necessário:

Recomendado:

Nenhuma configuração de nuvem privada virtual (VPC), firewall ou proxy é necessária. A implantação é executada em rede local.

1

Para saber mais, consulte a documentação do Docker.

2

Exemplo:

docker pull mongodb/mongodb-atlas-local:latest
3

Exemplo:

docker run -p 27017:27017 mongodb/mongodb-atlas-local
4

Para se conectar à implantação local do Atlas a partir do host (não do container), copie e cole o seguinte comando em um novo terminal e substitua a variável {connection_string} por sua string de conexão.

Observação

The following example uses mongosh, but you can use the connection method that you prefer.

mongosh {connection_string}

Exemplos:

mongosh "mongodb://localhost:27017/?directConnection=true"

Crie uma implantação local do Atlas com Docker Compose. Para obter um exemplo completo e detalhado, consulte Exemplo de composição do Docker.

Observação

Se você tiver uma implementação existente do Atlas baseada no Docker-Compose que criou com a imagem oficial do Docker do MongoDB e que gostaria de converter para usar a imagem Atlas Local Dev, consulte Converter em uma implementação local abaixo.

1

Para saber mais, consulte a documentação do Docker.

2

Exemplo:

brew install docker-compose

Para saber mais, consulte a documentação de instalação do Docker Compose.

3

Crie o arquivo docker-compose.yaml no mesmo diretório do qual você executa o Docker Compose. Para obter um exemplo completo e detalhado, consulte Exemplo de composição do Docker.

Exemplo:

1services:
2 mongodb:
3 image: mongodb/mongodb-atlas-local
4 environment:
5 - MONGODB_INITDB_ROOT_USERNAME=user
6 - MONGODB_INITDB_ROOT_PASSWORD=pass
7 ports:
8 - 27018:27017
4

O comando abaixo cria uma implantação Atlas local com os recursos do MongoDB Search habilitados.

Exemplo:

docker-compose up
5

Para se conectar à implantação local do Atlas a partir do host (não do container), copie e cole o seguinte comando em um novo terminal e substitua a variável {connection_string} por sua string de conexão.

Observação

The following example uses mongosh, but you can use the connection method that you prefer.

mongosh {connection_string}

Exemplo:

mongosh "mongodb://user:pass@localhost:27018/?directConnection=true"
6
docker compose down -v

Você pode persistir dados em várias execuções com Docker Compose. A persistência dos dados ajuda a garantir que os dados não sejam perdidos entre as execuções. Os dados permanecem disponíveis em todas as execuções do Docker Compose.

1

Para saber mais, consulte a documentação do Docker.

2

Exemplo:

brew install docker-compose

Para saber mais, consulte a documentação de instalação do Docker Compose.

3

Atualize o arquivo docker-compose.yaml para montar os diretórios de dados necessários como volumes.

Exemplo:

1services:
2 mongodb:
3 hostname: mongodb
4 image: mongodb/mongodb-atlas-local
5 environment:
6 - MONGODB_INITDB_ROOT_USERNAME=user
7 - MONGODB_INITDB_ROOT_PASSWORD=pass
8 ports:
9 - 27019:27017
10 volumes:
11 - data:/data/db
12 - config:/data/configdb
13volumes:
14 data:
15 config:
4

O comando abaixo cria uma implantação Atlas local com os recursos do MongoDB Search habilitados.

Exemplo:

docker-compose up

Você também pode executar o Docker Compose no modo independente.

Exemplo:

docker-compose up -d
5

Para se conectar à implantação local do Atlas a partir do host (não do container), copie e cole o seguinte comando em um novo terminal e substitua a variável {connection_string} por sua string de conexão.

Observação

The following example uses mongosh, but you can use the connection method that you prefer.

mongosh {connection_string}

Exemplo:

mongosh "mongodb://user:pass@localhost:27019/?directConnection=true"

Você pode gerar uma lista das dependências para a imagem do Docker do mongodb/mongodb-atlas-local .

1

Exemplo:

brew install syft

Para saber mais, consulte o README do syft.

2
syft mongodb/mongodb-atlas-local

Você pode verificar a assinatura da imagem do Docker do mongodb/mongodb-atlas-local .

1

Exemplo:

brew install cosign

Para saber mais, consulte a Instalação do cosign.

2

Exemplo:

curl -O https://cosign.mongodb.com/mongodb-atlas-local.pem
COSIGN_REPOSITORY="docker.io/mongodb/signatures" cosign verify --private-infrastructure --key=./mongodb-atlas-local.pem "mongodb/mongodb-atlas-local";

Para executar a imagem do Docker do mongodb/mongodb-atlas-local com ações do Github, crie um arquivo de fluxo de trabalho. Para saber mais, consulte o Início rápido de ações do Github.

Exemplo:

Crie o seguinte arquivo mongodb.yml no diretório .github/workflows :

on:
push:
branches:
- main
pull_request:
jobs:
run:
runs-on: ubuntu-latest
services:
mongodb:
image: mongodb/mongodb-atlas-local
ports:
- 27017:27017
steps:
- name: install mongosh
run: |
curl --output mongosh.deb https://downloads.mongodb.com/compass/mongodb-mongosh_2.2.1_amd64.deb
sudo dpkg -i mongosh.deb
mongosh --version
- run: mongosh 'mongodb://localhost/?directConnection=true' --eval 'show dbs'

Se você tiver uma implementação existente do Atlas em execução no Docker Compose que você criou com a imagem oficial do Docker do mongo, poderá consultar a seguinte lista de verificação para simplificar sua conversão para a imagem mongodb-atlas-local.

  1. Remova qualquer command existente do seu arquivo docker-compose.yaml. Como o command em uma definição do Docker Compose substitui o ENTRYPOINT definido na imagem mongodb-atlas-local, você deve remover qualquer command existente para que a imagem mongodb-atlas-local seja executada conforme projetado.

  2. Não há necessidade de definir uma verificação de integridade para o sistema do Atlas , pois esse recurso está integrado na imagem mongodb-atlas-local.

Os exemplos a seguir ilustram as prováveis alterações necessárias no arquivo YAML do Docker Compose:

services:
self_built_atlas_implementation:
image: mongo:8.0
ports:
- 27017:27017
command: ["./entrypoint.sh"] # You may have defined a health check for the database in the entrypoint script.
services:
local_dev_atlas:
image: mongodb/mongodb-atlas-local:8.0
hostname: local_dev_atlas
ports:
- 27017:27017
environment:
- MONGODB_INITDB_ROOT_USERNAME=user
- MONGODB_INITDB_ROOT_PASSWORD=pass
volumes:
- data:/data/db
- config:/data/configdb
volumes:
- data:
- config:

Depois de iniciar seu contêiner, confirme se a implantação está em execução e se você pode se conectar.

checkpoint
Etapa de verificação

Imagem puxada

Execute docker images | grep mongodb-atlas-local. A imagem aparece na saída.

Contêiner em execução

Execute docker ps. O contêiner aparece com o status Up.

Contêiner saudável

Execute docker inspect <container-id> | grep Health. O status mostra healthy.

A conexão é bem-sucedida

Connect with mongosh using the connection string (for example, mongodb://localhost:27017/?directConnection=true).

Volumes de dados presentes (opcional)

Execute docker volume ls. Os volumes de dados aparecem na saída.

Depois de criar e verificar sua implantação local do Atlas com o Docker, você pode: