LinuxParty

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

En esta guía, veremos cómo adjuntar un volumen persistente en un contenedor docker. Si no tenemos un almacenamiento separado, los datos no persistirán una vez que el contenedor ya no esté en funcionamiento.

Para fines de demostración, vamos a utilizar con un contenedor MYSQL; sus datos se guardarán en /var/lib/mysql dentro del contenedor docker, por lo que nuestro volumen se debe montar de manera obligada en la misma ubicación desde nuestro host docker al contenedor con los requisitos necesarios. Contextos SELinux.

Paso 1: Etiqueta con contexto SELinux para el volumen de la ventana acoplable

Cree un directorio para guardar los datos del contenedor y debe estar etiquetado con " svirt_sandbox_file_t ". Además, debe ser recursivo por el usuario y el grupo 27:27 .

# mkdir /mysql_container
# chown -R 27:27 /mysql_container
# chcon -t svirt_sandbox_file_t /mysql_container

Paso 2: Montar un volumen

Descarguemos la imagen de MySQL docker para lanzar un contenedor docker

# docker pull mysql

Para conocer las variables de entorno disponibles de la imagen del contenedor MYSQL, navegue hasta

Estamos usando solo por debajo de tres variables de entorno por ahora.

MYSQL_ROOT_USER
MYSQL_ROOT_PASSWORD
MYSQL_DATABASE

Inicie un contenedor desde la imagen de MySQL en modo de separación en el nombre de " mysql-pro-dbsrv " montando el volumen desde el origen hasta el destino con la opción " -v ". Al seguir podemos asignar una serie de variables que se utilizarán dentro del contenedor. Para asignar variables a usar con “ -e ” la opción.

# docker run --name mysql-pro-dbsrv -d -v /mysql_container:/var/lib/mysql/ -e MYSQL_ROOT_USER=root -e MYSQL_ROOT_PASSWORD=password123 mysql
# docker ps
  • –name Nombre del contenedor
  • -d Lanzando contenedor en modo separar
  • -v Enlazar montar un volumen
  • -e Establecer variables de entorno

Paso 3: Verificando la variable de entorno y MYSQL DB

Una vez que el contenedor está en funcionamiento, acceda a su shell para verificar los archivos de la base de datos.

# docker exec -it mysql-pro-dbsrv /bin/bash
# ls -lthr /var/lib/mysql/

Listar las variables de entorno y hacer un grep

# env | grep MYSQL

Inicie sesión en la base de datos MYSQL con las variables de entorno asignadas.

# mysql -u root -p
# exit

Ahora, veamos los archivos relacionados con MYSQL desde el servidor de la ventana acoplable. Los archivos de la base de datos se guardan en la ubicación que se encuentra debajo de un contenedor Docker.

# ls -lthr /mysql_container/

Paso 4: Eliminar el contenedor y los datos de MYSQL

Para eliminar un almacenamiento persistente de Docker debemos seguir los pasos anteriores en orden inverso.

Pero antes de comenzar con la eliminación, primero debemos detener el contenedor y luego eliminar el contenedor, al eliminar todos los archivos de la fuente de enlace y finalmente eliminar la imagen de MySQL.

# docker stop mysql-pro-dbsrv
# docker rm mysql-pro-dbsrv
# rm -rfv /var/local/mysql
# docker rmi mysql

Eso es todo lo que hemos completado con el montaje de un volumen para guardar datos de forma persistente en los contenedores de Docker.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política