Docker - Mariadb PDF
Docker - Mariadb PDF
Docker - Mariadb PDF
Creación de un
contenedor Docker con MariaDB
2 Licencia 8
1
Índice de cuadros
2
Índice de figuras
3
Capítulo 1
1.1 Requisitos
Para poder ejecutar contenedores Docker es necesario tener instalado Docker Community Edition (CE) en nues-
tro equipo.
En la web oficial encontrará la información necesaria para realizar la instalación de Docker CE sobre Windows,
macOS, Ubuntu, Debian, Fedora y CentOS.
Un contenedor Docker que no tiene persistencia de datos quiere decir que cuando finalice la ejecución perderá
todo el contenido que hayamos creado durante la ejecución. Es decir, si durante la ejecución del contenedor
hemos creado varias bases de datos en MariaDB, éstas se perderán cuando el contenedor se detenga.
El comando que podríamos usar para lanzar nuestro contenedor Docker con MariaDB sin persistencia de datos
podría ser el siguiente:
• docker run es el comando que nos permite crear un contenedor a partir de una imagen Docker.
• El parámetro -d nos permite ejecutar el contenedor en modo detached, es decir, ejecutándose en segun-
do plano.
• El parámetro --rm hace que cuando salgamos del contenedor, éste se elimine y no ocupe espacio en
nuestro disco.
4
Práctica 6. Creación de un contenedor Docker con MariaDB IES Celia Viñas (Almería) - 2018/2019
• El parámetro --name nos permite asignarle un nombre a nuestro contenedor. Si no le asignamos un nom-
bre Docker nos asignará un nombre automáticamente.
• El parámetro e es para pasarle al contenedor una variable de entorno. En este caso le estamos pasando
la variable de entorno MYSQL_ROOT_PASSWORD con el valor de la contraseña que tendrá el usuario root
para MySQL Server.
• El parámetro -p nos permite mapear los puertos entre nuestra máquina local y el contenedor. En este
caso, estamos mapeando el puerto 3306 de nuestra máquina local con el puerto 3306 del contenedor.
Si queremos que los datos del contenedor sean persistentes tenemos que crear un volumen donde vamos a
indicar el directorio de nuestra máquina local vamos a almacenar el directorio /var/lib/mysql, que es el
directorio que utiliza MariaDB para almacenar las bases de datos.
Para crear un volumen utilizamos el parámetro -v y los directorios que queremos sincronizar.
En la documentación oficial podemos encontrar más información sobre el uso de volumenes en Docker.
-v /home/josejuan/data:/var/lib/mysql
En este caso el directorio /home/josejuan/data de nuestra máquina local estará sincronizado con el directo-
rio /var/lib/mysql del contenedor con MariaDB.
Podemos hacer uso de $(pwd) para indicar que queremos crear el volumen en nuestro directorio actual.
-v $(pwd):/var/lib/mysql
El comando que podríamos usar para lanzar nuestro contenedor Docker con MariaDB con persistencia de datos
en un volumen podría ser el siguiente:
• docker run es el comando que nos permite crear un contenedor a partir de una imagen Docker.
• El parámetro -d nos permite ejecutar el contenedor en modo detached, es decir, ejecutándose en segun-
do plano.
• El parámetro --rm hace que cuando salgamos del contenedor, éste se elimine y no ocupe espacio en
nuestro disco.
• El parámetro --name nos permite asignarle un nombre a nuestro contenedor. Si no le asignamos un nom-
bre Docker nos asignará un nombre automáticamente.
• El parámetro e es para pasarle al contenedor una variable de entorno. En este caso le estamos pasando
la variable de entorno MYSQL_ROOT_PASSWORD con el valor de la contraseña que tendrá el usuario root
para MySQL Server.
• El parámetro -p nos permite mapear los puertos entre nuestra máquina local y el contenedor. En este
caso, estamos mapeando el puerto 3306 de nuestra máquina local con el puerto 3306 del contenedor.
• El parámetro -v nos permite crear un volumen para tener persistencia de datos al finalizar el contenedor.
Una vez que hemos iniciado el contenedor podemos comprobar que se está ejecutando con el siguiente coman-
do:
docker ps
Una vez que MariaDB está en ejecución podemos conectarnos con cualquier cliente: MySQL Workbench, PHPM-
yAdmin, Adminer, etc.
• Host: 127.0.0.1
• Puerto: 3306
• Usuario: root
• Password: root
Para detener el contenedor en primer lugar tenemos que conocer cuál es su ID. Para obtenerlo podemos hacer
uso del comando docker ps.
docker ps
En la primera columna podemos ver cuál es el CONTAINER ID. Una vez localizado el identificador ejecutamos el
comando docker stop y le pasamos como parámetro el identificador del contenedor que queremos detener.
1.7 Referencias
Licencia
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Inter-
nacional.