Almacenamiento en Docker

Índice

Almacenamiento en Docker con volúmenes docker

Para crear un volumen docker se usa el comando docker volume create:

docker volume create miweb

El volumen se puede usar para montar un directorio persistente en un contenedor.

docker run -d --name miweb -p 8080:80 -v miweb:/var/www/html php:7.4-apache

Para copiar un fichero al contenedor se usa el comando docker cp:

docker cp index.html miweb:/var/www/html

Si se borra este contenedor:

docker rm -f miweb

Y después se crea un nuevo contenedor con el mismo volumen asociado:

docker run -d --name minuevaweb -p 8080:80 -v miweb:/var/www/html php:7.4-apache

El contenido del servidor web es el mismo que en el contenedor eliminado.

Almacenamiento en Docker con bind mount

Para usar el montaje bind mount en docker en primer lugar se necesita crear un directorio en el equipo anfitrión.

mkdir miweb

Este directorio se puede usar como punto de montaje bind mount para un directorio de un contenedor durante su creación.

docker run -d --name miweb -p 8080:80 -v ~/miweb:/var/www/html php:7.4-apache

Si se modifica el contenido del fichero index.html en el directorio miweb, el contenido de la web que ofrece el servidor en el contenedor Docker también cambia.

Además, al eliminar el contenedor:

docker rm -f miweb

Y volver a crear un nuevo contenedor con bind mount en el mismo directorio:

docker run -d --name minuevaweb -p 8080:80 -v ~/miweb:/var/www/html php:7.4-apache

El contenido de la web se mantiene.

comments powered by Disqus

Relacionados

Compartición de sistemas de ficheros con sshfs y systemd

En este post se demuestra cómo se puede configurar un servidor de almacenamiento en una red local usando sshfs para compartir el sistema de ficheros y systemd para gestionar los puntos de montaje.

Leer

Cifrado asimétrico con GPG y OpenSSL

En este post se resume brevemente el procedimiento para crear claves de cifrado asimétrico tanto con GPG como con OpenSSL.

Leer

Despliegue de una aplicación Python en Kubernetes

Para desplegar una aplicación escrita en Python en Kubernetes se usan los ficheros yaml que definen los diferentes recursos necesarios para el despliegue.

Leer