Tu productividad como desarrollador/a de software se incrementará gracias a Docker. No importa si eres desarrollador/a, backend o front-end. Hoy en día, trabajar con Docker es vital para ser un buen profesional del software.
Cuáles son los beneficios de Docker
Con Docker podrás utilizar la tecnología que quieras en simples pasos, sin preocuparte por instalarla en tu computadora. No tendrás que "llenar" tu ordenador con programas que tal vez solo necesitas por un rato.
Es así como Docker simplifica la instalación de un motor de base de datos, de un lenguaje de programación para hacer algunas pruebas o de un software en particular para un propósito dado.
Cómo trabajan Docker y MongoDB
Veamos cómo puedes emplear Docker para levantar una base de datos MongoDB.
1. Configuración Docker
Comienza creando un archivo al cual, por defecto, se lo denomina docker-compose.yml.
NOTA: Los archivos de Docker utilizan la extensión .yml. Tal vez tengas que instalar una extensión en tu editor de código para visualizar estos archivos correctamente.
2. Configuración MongoDB con Docker
Agrégale el siguiente contenido al archivo que te permitirá levantar un contenedor de Docker con MongoDB en su interior.
services: un mismo docker.compose.yml podrá tener N cantidad de contenedores Docker que se relacionan entre sí. En este ejemplo, solo tendremos un contenedor llamado my-mongo.
image: el nombre de la imagen base a utilizar para levantar el contenedor.
environment: variables de entorno que el contenedor necesita. La imagen de Docker usada recibe por defecto las variables MONGO_INITDB_DATABASE, MONGO_INITDB_ROOT_USERNAME y MONGO_INITDB_ROOT_PASSWORD para preconfigurar el usuario de la base de datos.
ports: el puerto que el contenedor utilizará. <puerto_host>:<puerto_contenedor>. MongoDB usa por defecto el puerto 27017 y podremos acceder al mismo a través del puerto 27017 de la máquina local.
volumes: Docker, al destruir un contenedor, no mantendrá los datos y se perderán. Usamos esta configuración para generar un directorio y persistir los datos en la computadora local.
3. Ejecutar contenedor
Es momento de levantar el contenedor con el simple comando docker-compose up -d. En pocos segundos podrás corroborar si el contenedor quedó levantado en tu computador con el comando docker ps. Debería estar ejecutándose, en el puerto 27017 una base de datos MongoDB.
4. Otros comandos útiles
Puedes detener el contenedor que está corriendo con el comando docker-compose down o actualizarlo con el comando docker-compose up -d --build en el caso de que hayas realizado modificaciones en el archivo docker-compose.yml.
Docker es todo un mundo que te recomiendo aprender y Platzi tiene un Curso de Docker para enseñarte cómo funciona.
Docker no es una tecnología exclusiva de DevOps, todo desarrollador de software debería saber trabajar con ella.
Hice un articulo de crear contenedores de DB en docker, espero que les sirva.
Crear contenedores de bases de Datos en Docker
gracias por el aporte.
Una buena práctica, no debemos poner usuarios y contraseñas en nuestros codigos, para el archivo de docker-compose.yml podemos usar la opción env_file para obtener los datos de nuestros archivo .env
Ejemplo
version:'3.3'services:mongo:image: mongo:4.4env_file:.envports:-27017:27017volumes:-./mongo_data:/data/db
```Y en el archivo .env debemos declarar las variables 
```js
#MONGOMONGO_INITDB_ROOT_USERNAME='root'MONGO_INITDB_ROOT_PASSWORD='toor'```Espero les sirva.Saludos.
Una pregunta, el comando docker-compose se debe al nombre del archivo docker-compose.yml o es un comando propio de Docker?
Que referencia se debe seguir al crear los archivos .yml ?
Saludos! tengo problemas de autenticacion a la hora de conectarme desde mongo compass y desde el proyecto coloque el mismo docker-compose.yml que el del video
Nos puedes compartir como estas haciendo la conexión desde Mongo Compass a veces puede ser algo typo.
pregunta, si yo anteriormente ya había hecho correr una base de datos en el puerto 27017 al correr otra base de datos para otro proyecto, se me borra lo anterior? o bien pensaba que se me crea una carpeta con el nombre de la base de datos de este proyecto, consulto para no fregarla jaja
Hola Nicolas, para crear otra base de datos utiliza otro puerto o el mismo IDE te no te dejara crear la BD diciendote que ya tienes ese puerto en uso
yo use esta para probar y funciona
version: '3’
services:db:image: mongo
restart: always
ports:-27017:27017environment:MONGODB_DATABASE: test
Si tienen este error en ubuntu > failed to execute script docker-compose
Usen sudo antes de todos los comandos
<sudo docker-compose up -d mongo>
Para inicializar la configuracion de docker usar el comando: