Conceptos Fundamentales del Dockerfile
- ¿Qué es un Dockerfile?- Un archivo de texto con instrucciones para crear una imagen Docker. 
- ¿Con qué nombre debe guardarse por defecto un Dockerfile?- Debe llamarse - Dockerfilesin extensión.
- ¿Cuál es la instrucción que suele aparecer primero en un Dockerfile?- FROM, que indica la imagen base.
- ¿Qué hace la instrucción- COPY?- Copia archivos o directorios desde el host al contenedor. 
- ¿Para qué sirve la instrucción- RUN?- Ejecuta comandos durante la creación de la imagen, como instalar paquetes. 
- ¿Qué instrucción define el comando que se ejecutará al iniciar el contenedor?- ENTRYPOINT.
- ¿Qué diferencia hay entre- ENTRYPOINTy- CMD?- ENTRYPOINTdefine el comando principal;- CMDdefine los argumentos o el comando por defecto.
- ¿Qué hace la instrucción- ARG?- Declara variables que se pueden usar durante la construcción de la imagen. 
- ¿Para qué se utiliza- EXPOSE?- Indica qué puertos debe exponer el contenedor (por defecto TCP). 
- ¿Qué función tiene- ENVen un Dockerfile?- Define variables de entorno disponibles durante la ejecución del contenedor. 
- ¿Cuál es el comando para construir una imagen desde un Dockerfile?- docker build -t <nombre-imagen> .
- Si no se indica un tag en la instrucción- FROM, ¿qué versión se descarga?- La versión latest. 
- ¿Qué hace Docker con las imágenes ya construidas previamente?- Las cachea para acelerar futuras construcciones. 
- ¿Qué puerto usa por defecto el proyecto Java mencionado en el ejercicio?- El puerto 8080. 
- ¿Qué extensión debe tener el archivo de aplicación Java mencionado en el ejercicio?- .jar.
Conceptos Esenciales de Docker y Contenedores
- ¿Qué es Docker?- Es una plataforma que permite crear, ejecutar y gestionar contenedores para desplegar aplicaciones de forma ligera y portable. 
- ¿Por qué los contenedores son más ligeros que las máquinas virtuales?- Porque comparten el kernel del sistema operativo del host en lugar de incluir un SO completo. 
- ¿Qué significa que Docker sea portable?- Que las aplicaciones funcionan igual en cualquier máquina, ya que incluyen todas sus dependencias. 
- ¿Qué implica que Docker sea inmutable?- Que una imagen no se modifica; para cambiarla se debe crear una nueva. 
- ¿Cuáles son los tres elementos fundamentales de Docker?- Imágenes, contenedores y repositorios. 
- ¿Qué es una imagen Docker?- Una plantilla que define la base, dependencias y configuración de una aplicación. 
- ¿Qué es un contenedor Docker?- Una instancia en ejecución de una imagen donde se ejecuta la aplicación. 
- ¿En qué se diferencia una imagen de un contenedor?- La imagen es la plantilla (como una clase); el contenedor es su instancia (como un objeto). 
- ¿Qué son los repositorios Docker?- Almacenes de imágenes Docker, locales o remotos (como Docker Hub o GitHub Container Registry). 
- ¿Qué diferencia hay entre un repositorio público y uno privado?- Los públicos son abiertos y gratuitos; los privados pueden requerir pago y control de acceso. 
- ¿Qué permite el uso de volúmenes en Docker?- Compartir carpetas del host con el contenedor y mantener datos persistentes. 
- ¿Para qué sirve el mapeo de puertos?- Permite acceder a servicios dentro del contenedor desde el host mediante TCP/IP. 
- ¿Qué comando muestra los contenedores en ejecución?- docker ps.
- ¿Qué comando descarga imágenes desde un repositorio?- docker pull.
- ¿Qué comando crea y ejecuta un contenedor?- docker run.
- ¿Qué hace la opción- -pen el comando- docker run?- Mapea un puerto del contenedor a uno del host (por ejemplo, - -p 8080:80).
- ¿Qué hace la opción- -een- docker run?- Define variables de entorno dentro del contenedor. 
- ¿Qué comandos se usan para detener o iniciar un contenedor?- docker stopy- docker start.
- ¿Cómo se accede a la terminal de un contenedor en ejecución?- Con - docker exec -it <nombre> bash.
- ¿Qué comando elimina un contenedor?- docker rm.
- ¿Qué comando elimina una imagen?- docker rmi.
- ¿Qué comando construye una imagen a partir de un Dockerfile?- docker build -t <nombre-imagen> .
- ¿Qué comando muestra los logs de un contenedor?- docker logs.
- ¿Por qué se necesita persistencia en Docker?- Porque al eliminar un contenedor se pierden sus datos si no se usa un volumen. 
- ¿Cómo se crea un volumen en Docker?- Con - docker volume create <nombre-del-volumen>.
- ¿Cómo se monta un volumen al crear un contenedor?- Con la opción - -v "ruta-local:ruta-contenedor"en- docker run.
- ¿Qué ocurre si dos contenedores comparten el mismo volumen?- Los cambios en la carpeta compartida se reflejan en ambos contenedores. 
- ¿Qué herramienta se usa en el ejercicio práctico para trabajar con Docker?- GitHub Codespaces. 
