Creamos el contenedor, con acceso directo a la consola, añadiendo el parámetro -it, y comprobamos que curl no está instalado.
Tras ejecutar los comandos indicados en el ejercicio, vuelvo a hacer un curl --version y ya se puede comprobar que curl está instalado.
Para crear una nueva imagen con los cambios del contenedor se utiliza docker commit, tal y como se puede ver en la captura.

Tras crear un Dockerfile en mi carpeta actual, con las dos líneas que indica el Paso 2, construyo la imagen y ejecuto el contenedor siguiendo los pasos de la siguiente captura.
Para ver las capas de la imagen, tan solo habría que ejecutar el siguiente comando.

Creo un Dockerfile con un simple FROM ubuntu y construyo la imagen: docker build -t limpieza:v1 .
Después añado la siguiente línea al dockerfile: RUN apt-get update && apt-get install -y curl y vuelvo a construir: docker build -t limpieza:v2 .
Por último, modifico la línea anteriormente creada para añadirle wget: RUN apt-get update && apt-get install -y curl wget y vuelvo a construir: docker build -t limpieza:v3 .
Quedando mis imágenes como en la captura siguiente.
El resultado que se puede ver es que con cada build se crea una nueva versión de la imagen, ocupando espacio en disco. Se podrían borrar con el comando docker rmi limpieza:v1 limpieza:v2
Ejecuto el contenedor, creando un nuevo volumen con el siguiente comando: docker run -d --name pg -e POSTGRES_PASSWORD=0010 -v pgdata:/var/lib/postgresql postgres
Me conecto, creo la tabla e inserto un registro del siguiente modo, según la captura.
Detengo y elimino el contenedor: docker stop pg y docker rm pg
Creo el nuevo contenedor, pero el volumen ya existe, porque no ha sido borrado: docker run -d --name pg2 -e POSTGRES_PASSWORD=0010 -v pgdata:/var/lib/postgresql postgres
Compruebo que los datos siguen existiendo.

Creo el fichero index.html en una carpeta local de mi máquina e inicio el contenedor de este modo: docker run -d --name nginx -p 80:80 -v ${PWD}/index.html:/usr/share/nginx/html/index.html nginx
Al abrir localhost se puede ver el resultado correctamente.
Si modifico mi archivo localmente, el cambio aparece de inmediato en el contenedor, como se puede apreciar en la captura siguiente.

Con el comando docker volume ls puedo ver todos los volumenes creados. Ahora puedo inspeccionar un volumen cualquiera, por ejemplo pgdata, y comprobar toda su información, incluyendo el "Mountpoint", que es donde se guardan los datos. Ver siguiente captura.
