Como executar o MongoDB através de um contêiner Docker
Os contentores Docker do MongoDB são fáceis de replicar e escalar. À medida que a carga na base de dados aumenta, pode iniciar mais contentores MongoDB para manter o desempenho da base de dados estável.
É possível executar o MongoDB num contentor Docker?
O MongoDB pode ser executado perfeitamente num contentor Docker. No Docker Hub, existem dois tipos de imagens do MongoDB: as imagens da comunidade (Community Edition) e as imagens oficiais (Enterprise Edition). Deverá escolher entre uma ou outra consoante as suas necessidades. As da Community Edition são normalmente utilizadas em projetos não comerciais ou implementações de menor dimensão. Por outro lado, as da Enterprise Edition oferecem funcionalidades adicionais e suporte que se revelam úteis em aplicações de maior escala ou em ambientes empresariais que requerem funcionalidades avançadas, como encriptação, auditoria e integração LDAP.
Se as imagens pré-configuradas do MongoDB no Docker Hub não se adequarem totalmente às suas necessidades, o Docker permite-lhe criar uma imagem personalizada utilizando um Dockerfile. Nele, pode selecionar a versão do MongoDB, definir opções de configuração específicas (como métodos de autenticação) e instalar ferramentas ou controladores adicionais que sejam importantes para o seu ambiente.
Iniciar o MongoDB como um contentor Docker: instruções passo a passo
O Docker destaca-se pela sua virtualização leve, que facilita a portabilidade e a consistência em diferentes ambientes de desenvolvimento e produção. A seguir, explicamos passo a passo como configurar contentores MongoDB no Docker. Se é principiante, recomendamos o nosso tutorial sobre o Docker: instalação e primeiros passos, no qual oferecemos uma introdução a esta plataforma de contentores.
Passo 1: descarregar a imagem do MongoDB no Docker
Para criar um contêiner do MongoDB no Docker, primeiro é necessário descarregar a imagem correspondente do Docker Hub. Abra o seu terminal ou linha de comandos e execute este comando:
docker pull mongo:latestbashSe a imagem já estiver disponível localmente, o Docker não irá descarregar uma nova versão, a menos que especifique explicitamente a versão que pretende utilizar (por exemplo, mongo:4.4).
Passo 2: iniciar o contentor Docker no MongoDB
Depois de descarregar a imagem do Docker para o MongoDB, pode iniciar um contentor com base nessa imagem. Para tal, utilize o seguinte código:
docker run --name mongodb-container -d -p 27017:27017 mongo:latestbashdocker runserve para iniciar um contêiner Docker.--name mongodb-containeratribui ao contentor o nome «mongodb-container».-dexecuta o contentor em segundo plano (modo «detached»). Ou seja, enquanto o contentor estiver a ser executado, poderá continuar a utilizar o seu terminal.-p 27017:27017mapeia a porta padrão do MongoDB 27017 do contentor para o seu sistema anfitrião.mongo:latestdá a instrução para utilizar a imagem mais recente.
Passo 3: verificar se o contentor está a ser executado
Para se certificar de que o contentor foi iniciado corretamente, digite o seguinte comando:
docker psbashAs informações obtidas oferecem uma visão geral dos contentores Docker do MongoDB que estão ativos no seu sistema, há quanto tempo estão em execução e quais as portas que estão a utilizar. Se precisar de mais detalhes, como informações sobre contentores parados ou opções de filtragem específicas, pode utilizar o comando docker ps -a.
Passo 4: ligar-se ao MongoDB no contentor Docker
Agora pode ligar-se à instância do MongoDB no seu contentor Docker. Para tal, abra o MongoDB Shell diretamente no contentor:
docker exec -it mongodb-container mongobashdocker execexecuta um comando no contentor que já está em execução.-itpermite a interação com o terminal no contentor.mongodb-containeré o nome do contentor do MongoDB que foi instalado.mongoé responsável por iniciar o MongoDB Shell.
Depois de executar este comando, deverá ver o MongoDB Shell pronto para receber comandos. Se for esse o caso, é hora de introduzir os comandos habituais do MongoDB para gerir ou consultar a sua base de dados.
Passo 5: realizar operações no MongoDB Shell
Agora pode visualizar todas as bases de dados existentes no servidor MongoDB da seguinte forma:
show databasesbashO resultado contém os nomes das bases de dados:
admin 0.000GB
local 0.000GB
test 0.000GBbashPara trabalhar com uma base de dados específica no MongoDB Shell, utilize o seguinte comando:
use mydatabasebashEste comando permite-lhe mudar para a base de dados chamada «mydatabase». Se a base de dados não existir, será criada automaticamente quando introduzir um documento nela.
Também podes consultar documentos de uma coleção específica:
db.users.find()bashO MongoDB Shell devolve todos os documentos armazenados na coleção «users».
{ "_id": ObjectId("609823e9f9a5f7f364fc3f90"), "username": "alicia", "age": 28 }
{ "_id": ObjectId("609823f2f9a5f7f364fc3f91"), "username": "leo", "age": 32 }
{ "_id": ObjectId("609823f9f9a5f7f364fc3f92"), "username": "carlos", "age": 25 }bsonCada documento contém um campo único _id e outros campos, como username e age (nome de utilizador e idade).
No nosso Guia Digital, pode encontrar mais informações sobre as ferramentas Docker, bem como uma apresentação do MongoDB e uma comparação com o SQL.