====== Bases de datos MySQL con Docker ======
Lo primero será crear la base de datos, para ello como requisitos previos será
tener instalado mysql y también la imagen de mysql.
Una vez hecho esto, vamos a crear el contenedor de mysql, para ello usamos el
comando ''docker run -d –name my-db1 -e “MYSQL_ROOT_PASSWORD=”123123” mysql''. Con
este comando estamos creando la contraseña para acceder a la base de datos que
está dentro del contenedor:
Las instrucciones se pueden ver en dockerhub dentro de la imagen de mysql:
{{pasted_image_20221231201101.png|}}
Nos bajamos la imagen de MySQL:
{{pasted_image_20221231201109.png|}}
Ahora arrancamos el contenedor de MySQL y ya tenemos creado el contenedor,
poniendo su contraseña:
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
{{pasted_image_20240315100814.png|}}
Ahora, el siguiente paso será inspeccionar el contenedor de database para
conocer su dirección IP:
{{pasted_image_20221231201139.png|}}
Y aquí la tenemos, la vamos a copiar porque la usaremos más adelante:
{{pasted_image_20221231201150.png|}}
Ahora vamos a conectarnos desde el ordenador anfitrión con mysql instalado al
contenedor donde está la base de datos, poniendo la IP del contenedor que
copiamos antes y la contraseña:
{{pasted_image_20221231201159.png|}}
Y ya estamos dentro:
{{pasted_image_20221231201208.png|}}
Ahora ya puedo gestionar la base de datos con sentencias sql, por ejemplo así:
{{pasted_image_20221231201225.png|}}
Por ejemplo voy a crear una base de datos:
{{pasted_image_20221231201234.png|}}
Y ya tengo creada esta base de datos:
{{pasted_image_20221231201251.png|}}
{{pasted_image_20221231201255.png|}}
También puedo hacer de todo, por ejemplo crear una nueva tabla e introducir
datos en ella:
{{pasted_image_20221231201306.png|}}
Vamos a ver el contenido:
{{pasted_image_20221231201318.png|}}
Y ahora vamos a introducir registros:
{{pasted_image_20221231201329.png|}}
Y por último haremos una consulta:
{{pasted_image_20221231201343.png|}}
===== PERSISTENCIA DE DATOS MYSQL DOCKER =====
Enlazamos por ejemplo el directorio /opt:
docker run --name some-mysq -v /home/mario/Escritorio/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my_secret_pw -d mysql
{{pasted_image_20240315135231.png|}}
Ahora nos conectamos y probamos en crear una base de datos:
mysql -u root -h 172.17.0.2 -pmy-secret-pw
{{pasted_image_20240315135423.png|}}
Probamos en insertar un dato:
CREATE TABLE ordenadores (codigo VARCHAR(10), precio FLOAT, categoria VARCHAR(15));
{{pasted_image_20240315135554.png|}}
Ahora probamos en cerrar, borrar el contenedor, volver a crearlo y si le
asignamos el mismo volumen veremos que la información persiste:
{{pasted_image_20240315140632.png|}}
Así como la carpeta de volumen situada en el escritorio donde se contienen los
archivos de la base de datos MySQL:
{{pasted_image_20240315140703.png|}}