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:
Nos bajamos la imagen de MySQL:
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
Ahora, el siguiente paso será inspeccionar el contenedor de database para conocer su dirección IP:
Y aquí la tenemos, la vamos a copiar porque la usaremos más adelante:
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:
Y ya estamos dentro:
Ahora ya puedo gestionar la base de datos con sentencias sql, por ejemplo así:
Por ejemplo voy a crear una base de datos:
Y ya tengo creada esta base de datos:
También puedo hacer de todo, por ejemplo crear una nueva tabla e introducir datos en ella:
Vamos a ver el contenido:
Y ahora vamos a introducir registros:
Y por último haremos una consulta:
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
Ahora nos conectamos y probamos en crear una base de datos:
mysql -u root -h 172.17.0.2 -pmy-secret-pw
Probamos en insertar un dato:
CREATE TABLE ordenadores (codigo VARCHAR(10), precio FLOAT, categoria VARCHAR(15));
Ahora probamos en cerrar, borrar el contenedor, volver a crearlo y si le asignamos el mismo volumen veremos que la información persiste:
Así como la carpeta de volumen situada en el escritorio donde se contienen los archivos de la base de datos MySQL:



















