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

Construcción de una imagen Docker en un pipeline de Jenkins

Para crear una imagen Docker desde un pipeline de Jenkins es necesario conectar este servicio a la cuenta de DockerHub a la que debe subir la imagen. Para ello, en el menú Administrar Jenkins -> Credenciales -> Global -> Add Credentials se crea una nueva credencial de tipo nombre de usuario y contraseña.

Leer

Instalación de un CMS Python usando Django

En este post se instala el CMS CMS-Django usando un entorno virtual.

Leer

Mostrar información usando outputs en Terraform

En ocasiones, es necesario obtener alguna información relacionada con los recursos que se crean de forma automática con Terraform. Para ello se pueden usar los outputs como se muestra en este artículo.

Leer