¿Por qué usar Docker?
Este es un pequeño diagrama de flujo de la instalación de software en su computadora personal y apuesto que al menos una vez , esto es lo que te ha sucedido.
Tal vez hayas descargado algún instalador, ejecutes ese instalador e, inevitablemente, en algún momento, termines recibiendo un mensaje de error durante la instalación. Probablemente soluciones el problema mirando en Google. Intentarás encontrar una solución, eventualmente resuelves ese problema. Luego vuelves a ejecutar el instalador y aparece otro error. Luego tienes que pasar por todo este proceso de solución de problemas de nuevo.
Esto es en esencia lo que Docker está tratando de solucionar.
Docker quiere que sea realmente fácil y sencillo instalar y ejecutar software en cualquier computadora. No solo en tu ordenador personal, no solo en tu portátil personal o escritorio personal, sino también en servidores web o cualquier plataforma informática basada en la nube.
Aplicación Web Java con Spring Framework, Spring Boot e Hibernate.
Hemos creado una aplicación que utiliza el motor de base de datos H2 el cual nos proporciona una base de datos que se alojará en la memoria.
Esta es una solución rápida para realizar pruebas en las fases de desarrollo, pero el problema que encontramos es que cada vez que reiniciamos el servidor también se reinicia la base de datos.
H2 es una base de datos en memoria:
- No persiste los datos
- Genial para aprender
- No es válida para producción
Ahora mismo no nos interesa tener este comportamiento en la base de datos, preferimos que cada vez que reiniciemos el servidor no perdamos la información de la base de datos. Podríamos acceder a las páginas oficiales de MySQL y seguir todo el proceso de instalación, pero como hemos indicado anteriormente, Docker existe para facilitarnos la vida. Vamos a utilizar Docker para poder tener una base de datos de este tipo, MySQL.
De H2 a MySQL usando Docker
Para llevar a cabo este proceso solo tenemos que dar 3 pasos.
Modificar el archivo pom.xml
We no longer need the H2 dependency, we remove it and declare the MySQL dependency.
Configuración en el archivo application.properties
En el archivo application.properties eliminamos la configuración que activa la base de datos H2 y creamos la configuración para usar la base de datos MYSQL.
Inicia MySQL usando Docker
Primero, debemos tener Docker instalado en nuestra computadora y luego ejecutar el siguiente comando. Podremos iniciar MySQL en un contenedor Docker.
Inicia MySQL usando Docker
docker run --detach
--env MYSQL_ROOT_PASSWORD=dummypassword --env MYSQL_USER=todos-user
--env MYSQL_PASSWORD=dummytodos
--env MYSQL_DATABASE=todos
--name mysql
--publish 3306:33060
mysql:8-oracle
dentificar la dirección IP del contenedor
docker container ls docker inspect {containerId}
Actualiza application.properties
spring.datasource.url=jdbc:mysql://172.17.0.2:3306/todos
A continuación, verifiquemos que el contenedor esté instalado y funcione correctamente.
Comandos Docker
docker container ls
docker container stop {IDContainer}
Por otro lado, también puede instalar MySQL Shell. Es un cliente avanzado de línea de comandos y editor de código para MySQL que te permitirá comprobar los cambios realizados en la base de datos y la conexión con ella.
Comandos MySQL Shell
mysqlsh \connect todos-user@localhost:3306 \sql use todos select * from todo; \quit
Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir!