¿Qué DBMS usar?
docker run mysql:5.6
docker run -p 3306:12345
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6177b0109a59 postgres "docker-entrypoint..." 20 seconds ago Up 19 seconds 5432/tcp nervous_easley 090a0ced3076 mysql "docker-entrypoint..." 20 seconds ago Up 50 seconds 3306/tcp wizardly_hermann d3dfb0e9e75a microsoft/mssql-server-linux "/bin/sh -c /opt/m..." 2 days ago Up 3 hours 1433/tcp server_mssql_1
Los contenedores “viven” mientras la aplicación este en ejecución, si la aplicación termina, el contenedor también, junto con los datos que fueron modificados en esta instancia.
Si queremos persistir información debemos mapear un volumen.
Definimos una carpeta de adentro del contenedor (donde la aplicación persistirá los datos) y una fuera de este (en el sistema operativo residente).
De esta forma podemos detener nuestro servidor de bd y al reanudarlo seguiremos con los datos que habíamos modificado.
Docker es muy útil cuando tenemos que trabajar en distintos proyectos que usan tecnologías diferentes y no queremos mantener una gran cantidad de servicios corriendo hasta el momento que tengamos que volver sobre cada proyecto.
Este es solo un ejemplo del uso de Docker en desarrollo, también puede ser usado para:
Desplegar nuestra aplicación en un ambiente controlado y definido
Facilitar la configuracion de un nuevo equipo (ya sea de un integrante del equipo o alguien nuevo)
Proveer un conjunto de servicios para el funcionamiento de un sistema, usando docker compose
Este es solo un ejemplo del uso de Docker en desarrollo, también puede ser usado para:
Escalar una aplicación entre varios servidores usando docker swarm
Ejecutar CI en un ambiente “de cero” y aislado
Asegurar que las versiones de las partes de un sistema son las mismas en los diferentes ambientes (desarrollo, staging, producción)
Docker
Instrucciones para instalar en su equipo, videos introductorios, etc
Docker Hub
Repositorio principal de imagenes de Docker, a donde va a buscar la imagen `mysql:5.6` cuando queremos ejecutar un contenedor.