JanelasMacSoftwareConfiguraçõesSegurançaProdutividadeLinuxAndroidDesempenhoConfiguraçãoApple Tudo

Configurando o MongoDB no Docker para Linux

Editado 2 meses atrás por ExtremeHow Equipe Editorial

DockerLinuxMongoDBBanco de DadosConteinerizaçãoDesenvolvimentoVirtualizaçãoImplantaçãoConfiguraçãoConfiguração

Configurando o MongoDB no Docker para Linux

Tradução atualizada 2 meses atrás

O MongoDB é um banco de dados NoSQL popular que permite gerenciamento de dados flexível e escalonável. O Docker, por outro lado, é uma plataforma que permite que o software seja executado em contêineres, garantindo que os aplicativos possam ser executados de forma consistente em qualquer plataforma. Usar o Docker para configurar o MongoDB no Linux combina a flexibilidade do MongoDB com as poderosas capacidades de conteinerização do Docker. Este guia irá introduzi-lo ao processo de configurar o MongoDB no Docker em um ambiente Linux. Cobriremos cada passo em detalhe para garantir que você possa implementá-lo com sucesso.

1. Pré-requisitos

Antes de começar a configurar o MongoDB no Docker, certifique-se de ter o seguinte:

1.1 Instalando o Docker

Se o Docker não estiver instalado em seu sistema Linux, você pode seguir os seguintes passos para instalá-lo:

  1. Primeiro, atualize a base de dados de pacotes:
    sudo apt update
  2. Depois, instale os pacotes necessários:
    sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
  3. Em seguida, adicione a chave GPG oficial do Docker:
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. Configure o repositório estático do Docker:
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  5. Atualize a base de dados de pacotes novamente:
    sudo apt update
  6. Finalmente, instale o Docker:
    sudo apt install docker-ce docker-ce-cli containerd.io

Depois de seguir estes passos, o Docker deve estar instalado com sucesso em seu sistema Linux. Você pode verificar a versão instalada usando o seguinte comando:

docker --version

2. Puxando a imagem Docker do MongoDB

Agora que o Docker está instalado, o próximo passo é puxar a imagem do MongoDB do Docker Hub. O Docker Hub é uma biblioteca baseada em nuvem onde os usuários podem encontrar imagens para vários softwares. Para puxar a imagem do MongoDB, use o seguinte comando:

sudo docker pull mongo

Este comando irá baixar a versão mais recente do MongoDB do Docker Hub. Você pode especificar uma versão particular adicionando dois pontos (:) e o número da versão após "mongo". Por exemplo, para puxar a versão 4.4, você usaria:

sudo docker pull mongo:4.4

3. Executando o contêiner do MongoDB

Depois que a imagem do MongoDB for baixada, você pode criar e executar um contêiner usando a imagem. Um contêiner é como uma máquina virtual leve que pode executar diferentes aplicativos. Execute o seguinte comando para executar um contêiner MongoDB:

sudo docker run --name mongodb -d -p 27017:27017 mongo

Análise do comando:

4. Verificando a configuração do MongoDB

Uma vez que o contêiner do MongoDB estiver em execução, você deve verificar se tudo está configurado corretamente. Verifique o status do contêiner Docker usando o seguinte comando:

sudo docker ps

Isso exibirá a lista de contêineres em execução, e você verá o contêiner MongoDB entre eles. Ele mostrará detalhes como ID do contêiner, nome, imagem usada e porta mapeada.

Você pode verificar ainda mais acessando o MongoDB usando o shell do MongoDB. Primeiro, entre no contêiner MongoDB em execução:

sudo docker exec -it mongodb bash

Dentro do shell do contêiner, inicie o shell do MongoDB digitando o seguinte:

mongo

Isso dará um prompt do shell MongoDB, o que confirmará que o MongoDB está sendo executado dentro do contêiner Docker.

5. Mantendo os dados do MongoDB

Por padrão, quaisquer dados armazenados em um contêiner Docker são não persistentes. Isso significa que, se o contêiner for excluído, todos os dados criados dentro dele serão perdidos. Para persistir os dados, você deve mapear um diretório na máquina host para um diretório dentro do contêiner.

Para fazer isso, pare o contêiner MongoDB:

sudo docker stop mongodb

Em seguida, execute um novo contêiner com o mapeamento de volume:

sudo docker run --name mongodb -d -p 27017:27017 -v /meu/proprio/datadir:/data/db mongo

Explicação da nova flag:

Substitua /meu/proprio/datadir pelo caminho onde você deseja salvar os dados do MongoDB em sua máquina host. Este diretório armazenará todos os dados do MongoDB e ele persistirá mesmo que você exclua o contêiner.

6. Proteger a instância MongoDB

Executar o MongoDB com as configurações padrão pode não ser seguro para um ambiente de produção. Aqui estão algumas etapas básicas para melhorar a segurança.

6.1 Criando um usuário administrativo

Primeiro, inicie o shell do MongoDB e crie um usuário admin:

mongo

Em seguida, vá para o banco de dados admin:

use admin

Crie um usuário admin executando o seguinte comando. Certifique-se de substituir "username" e "password" pelo nome de usuário e senha desejados:

db.createUser({ user: "username", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })

6.2 Habilitando a autenticação

Para ativar a autenticação, você precisa editar o arquivo de configuração. Saia do shell e pare o contêiner em execução:

exit
sudo docker stop mongodb

Inicie um novo contêiner MongoDB com "auth" habilitado:

sudo docker run --name mongodb -d -p 27017:27017 -v /meu/proprio/datadir:/data/db mongo --auth

Agora, sempre que você se conectar ao banco de dados, será necessário autenticação.

7. Configuração avançada

Para uma configuração mais avançada, você pode fornecer um arquivo de configuração ao iniciar o contêiner MongoDB. Crie o arquivo de configuração na máquina host e passe-o para o contêiner usando o seguinte comando:

sudo docker run --name mongodb -d -p 27017:27017 -v /meu/proprio/datadir:/data/db -v /meu/proprio/config:/etc/mongo mongo --config /etc/mongo/mongod.conf

Substitua /meu/proprio/config pelo diretório onde seu arquivo mongod.conf está localizado. Isso permite personalizar configurações como conjuntos de réplicas, sharding e logging.

8. Conclusão

Configurar o MongoDB no Docker para Linux oferece uma maneira flexível e eficiente de gerenciar o banco de dados, com o benefício adicional do conteinerização do Docker. Isso garante consistência entre ambientes e simplifica os processos de implantação. Ao seguir essas etapas, você poderá executar e proteger o MongoDB no Docker de forma eficaz.

Os recursos de isolamento do Docker permitem criar e excluir contêineres facilmente, tornando o teste e o gerenciamento muito mais simples. Adicionar segurança como persistência de dados e autenticação permite que os recursos robustos do MongoDB sejam aproveitados com segurança em um ambiente de produção. Lembre-se de que, com a conteinerização, saber como lidar com o armazenamento de dados e configuração pode aumentar bastante o desempenho e a confiabilidade de sua configuração de banco de dados.

Se você encontrar algo errado com o conteúdo do artigo, você pode


Comentários