Ejercicios
Ejercicios para repasar
Vamos a trabajar con volúmenes docker:
- Crea un volumen docker que se llame
miweb. - Crea un contenedor desde la imagen
php:7.4-apachedonde montes en el directorio/var/www/html(que sabemos que es el DocuemntRoot del servidor que nos ofrece esa imagen) el volumen docker que has creado. - Utiliza el comando
docker cppara copiar un ficheroindex.htmlen el directorio/var/www/html. - Accede al contenedor desde el navegador para ver la información ofrecida por el fichero
index.html. - Borra el contenedor
- Crea un nuevo contenedor y monta el mismo volumen como en el ejercicio anterior.
- Accede al contenedor desde el navegador para ver la información ofrecida por el fichero
index.html. ¿Seguía existiendo ese fichero?
Vamos a trabajar con bind mount:
- Crea un directorio en tu host y dentro crea un fichero
index.html. - Crea un contenedor desde la imagen
php:7.4-apachedonde montes en el directorio/var/www/htmlel directorio que has creado por medio debind mount. - Accede al contenedor desde el navegador para ver la información ofrecida por el fichero
index.html. - Modifica el contenido del fichero
index.htmlen tu host y comprueba que al refrescar la página ofrecida por el contenedor, el contenido ha cambiado. - Borra el contenedor
- Crea un nuevo contenedor y monta el mismo directorio como en el ejercicio anterior.
- Accede al contenedor desde el navegador para ver la información ofrecida por el fichero
index.html. ¿Se sigue viendo el mismo contenido?
Ejercicios para entregar
Entrega uno de estos dos ejercicios (si estás muy aburrido puedes entregar los dos):
Creación y uso de volúmenes
- Crear los siguientes volúmenes con la orden
docker volume: volumen_datos y volumen_web. - Una vez creados estos contenedores:
- Arrancar un contenedor llamado
c1sobre la imagenphp:7.4-apacheque monte el volumen_web en la ruta/var/www/htmly que sea accesible en el puerto 8080. - Arrancar un contenedor llamado
c2sobre la imagenmariadbque monte el volumen_datos en la ruta/var/lib/mysqly cuya contraseña derootseaadmin.
- Arrancar un contenedor llamado
- Intenta borrar el volumen volumen_datos, para ello tendrás que parar y borrar el contenedor
c2y tras ello borrar el volumen. - Copia o crea un fichero
index.htmlal contenedorc1, accede al contenedor y comprueba que se está visualizando. - Borra el contenedor
c1y crea un contenedorc3con las mismas características quec1pero sirviendo en el puerto 8081.
Deberás entregar los siguientes pantallazos comprimidos en un zip o en un documento pdf:
- Pantallazo donde se puedan ver los dos volúmenes creados.
- Pantallazo con la orden correspondiente para arrancar el contenedor c1 usando el volumen_web.
- Pantallazo con la orden correspondiente para arrancar el contenedor c2 usando el volumen_datos.
- Pantallazo donde se vea el proceso para poder borrar el volumen_datos.
- Pantallazo donde se vea el borrado de
c1y la creación dec3. - Pantallazo donde se vea el acceso al contenedor
c3.
Bind mount para compartir datos
-
Crea una carpeta llamada
saludoy dentro de ella crea un fichero llamadoindex.htmlcon el siguiente contenido (Deberás sustituir ese XXXXXx por tu nombre.):<h1>HOLA SOY XXXXXX</h1> - Una vez hecho esto arrancar dos contenedores basados en la imagen php:7.4-apache que hagan un bind mount de la carpeta
saludoen la carpeta/var/www/htmldel contenedor. Uno de ellos vamos a acceder con el puerto 8181 y el otro con el 8282. Y su nombres seránc1yc2. - Modifica el contenido del fichero
~/saludo/index.html. - Comprueba que puedes seguir accediendo a los contenedores, sin necesidad de reiniciarlos.
Deberás entregar los siguientes pantallazos comprimidos en un zip o en un documento pdf:
- Pantallazo con la orden correspondiente para arrancar el contenedor c1 (puerto 8181) realizando el bind mount solicitado.
- Pantallazo con la orden correspondiente para arrancar el contenedor c2 (puerto 8282) realizando el bind mount solicitado.
- Pantallazo donde se pueda apreciar que accediendo a
c1se puede ver el contenido deindex.html. - Pantallazo donde se pueda apreciar que accediendo a
c2se puede ver el contenido deindex.html. - Otro dos pantallazos (o uno) donde se vea accediendo a los contenedores después de modificar el fichero
index.html.