LinuxParty
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.
-
Docker
- Cómo administrar contenedores usando Podman y Skopeo en RHEL 8
- DistroBox: ejecute cualquier distribución de Linux dentro de la terminal de Linux
- Docker: la plataforma para la virtualización de nueva generación
- Cómo monitorear contenedores Docker con la herramienta de monitoreo Zabbix
- Instalar Docker en Windows 10 y 11
- Linux y Kubernetes: Al servicio de los objetivos comunes de las empresas
- Mirantis adquiere Docker Enterprise
- Configurar Jenkins en Docker
- Cómo configurar un servidor web Apache simple en un contenedor Docker
- Chuleta de Docker para Administradores de Sistemas
- Cómo conectar los contenedores Docker y mostrarlos en la red
- Cómo gestionar contenedores Docker
- Cómo buscar imágenes docker y lanzar un contenedor
- Mantener los datos fijos en Docker de forma persistente adjuntando un volumen
- Docker, virtualiza aplicaciones con contenedores