Instalación de MongoDB con Docker

MongoDB es un programa de base de datos NoSQL gratuito, de código abierto, multiplataforma y orientado a documentos.

1. Ver las versiones disponibles de MongoDB

Visita la dirección del repositorio de imágenes de MongoDB:https://hub.docker.com/_/mongo?tab=tags&page=1。

Puedes ver otras versiones de MongoDB usando 'Sort by'; por defecto es la última versión.mongo:latest。

También puedes encontrar otras versiones que desees en la lista desplegable:

Además, también podemos usardocker search mongoel comando para ver las versiones disponibles:

$ docker search mongo
NAME                              DESCRIPTION                      STARS     OFFICIAL   AUTOMATED
mongo                             MongoDB document databases ...   1989      [OK]       
mongo-express                     Web-based MongoDB admin int...   22        [OK]       
mvertes/alpine-mongo              light MongoDB container          19                   [OK]
mongooseim/mongooseim-docker      MongooseIM server the lates...   9                    [OK]
torusware/speedus-mongo           Always updated official Mon...   9                    [OK]
jacksoncage/mongo                 Instant MongoDB sharded cluster  6                    [OK]
mongoclient/mongoclient           Official docker image for M...   4                    [OK]
jadsonlourenco/mongo-rocks        Percona Mongodb with Rocksd...   4                    [OK]
asteris/apache-php-mongo          Apache2.4 + PHP + Mongo + m...   2                    [OK]
19hz/mongo-container              Mongodb replicaset for coreos    1                    [OK]
nitra/mongo                       Mongo3 centos7                   1                    [OK]
ackee/mongo                       MongoDB with fixed Bluemix p...  1                    [OK]
kobotoolbox/mongo                 https://github.com/kobotoolb...  1                    [OK]
valtlfelipe/mongo                 Docker Image based on the la...  1                    [OK]

2. Obtener la imagen más reciente de MongoDB

Aquí descargamos la imagen oficial de la última versión:

$ docker pull mongo:latest

3. Ver las imágenes locales

Usa el siguiente comando para ver si mongo ya está instalado:

$ docker images

En la imagen superior se puede ver que ya hemos instalado la imagen de mongo en su última versión (latest).

4. Ejecutar el contenedor

Una vez completada la instalación, podemos usar el siguiente comando para ejecutar el contenedor de mongo:

docker run -d -p 27017:27017 --name my-mongo-container mongo

Descripción de parámetros:

  • -d: Ejecutar el contenedor en segundo plano.
  • -p 27017:27017: Mapear el puerto 27017 del host al puerto 27017 del contenedor.
  • --name my-mongo-container: Asignar un nombre al contenedor, aquí esmy-mongo-containerpuedes cambiarlo según sea necesario.

5. Instalación exitosa

Finalmente podemos usar eldocker pscomando para ver la información de ejecución del contenedor:

# docker ps
CONTAINER ID   IMAGE      ...   PORTS                    NAMES
d53e5d57668b   mongo      ...  :::27017->27017/tcp   my-mongo-container

Deberías poder ver un contenedor llamadomy-mongo-containerde MongoDB que está en ejecución.

A continuación, podemos usar un cliente de MongoDB (por ejemplo, mongo shell) para conectarnos al contenedor de MongoDB en ejecución.

Puedes usar el siguiente comando para conectarte a MongoDB:

$ mongosh --host 127.0.0.1 --port 27017
Current Mongosh Log ID: 656d34911ff5455b0c3afdc0
Connecting to:          mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.1.0
Using MongoDB:          7.0.4
Using Mongosh:          2.1.0

For mongosh info see: https://docs.mongodb.com/mongodb-shell/
...

Esto se conectará al puerto 27017 del host local; puedes ajustarlo según el puerto mapeado anteriormente.

El comando para ingresar al shell bash del contenedor de MongoDB es el siguiente:

docker exec -it my-mongo-container bash
Recuerda detener y eliminar el contenedor cuando ya no sea necesario; puedes usar el siguiente comando:
docker stop my-mongo-container
docker rm my-mongo-container
Otras extensiones