Instalação do MongoDB com o Docker no Linux
Para instalar o MongoDB com o Docker no Linux, siga estas etapas:
- Abra um terminal e faça login como root ou como um usuário com direitos sudo.
- 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
- 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.
- 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).
- 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.
Outros artigos interessantes
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