Dominando Docker y Dockerfile: Conceptos Esenciales y Comandos Clave


Conceptos Fundamentales del Dockerfile

  1. ¿Qué es un Dockerfile?

    Un archivo de texto con instrucciones para crear una imagen Docker.

  2. ¿Con qué nombre debe guardarse por defecto un Dockerfile?

    Debe llamarse Dockerfile sin extensión.

  3. ¿Cuál es la instrucción que suele aparecer primero en un Dockerfile?

    FROM, que indica la imagen base.

  4. ¿Qué hace la instrucción COPY?

    Copia archivos o directorios desde el host al contenedor.

  5. ¿Para qué sirve la instrucción RUN?

    Ejecuta comandos durante la creación de la imagen, como instalar paquetes.

  6. ¿Qué instrucción define el comando que se ejecutará al iniciar el contenedor?

    ENTRYPOINT.

  7. ¿Qué diferencia hay entre ENTRYPOINT y CMD?

    ENTRYPOINT define el comando principal; CMD define los argumentos o el comando por defecto.

  8. ¿Qué hace la instrucción ARG?

    Declara variables que se pueden usar durante la construcción de la imagen.

  9. ¿Para qué se utiliza EXPOSE?

    Indica qué puertos debe exponer el contenedor (por defecto TCP).

  10. ¿Qué función tiene ENV en un Dockerfile?

    Define variables de entorno disponibles durante la ejecución del contenedor.

  11. ¿Cuál es el comando para construir una imagen desde un Dockerfile?

    docker build -t <nombre-imagen> .

  12. Si no se indica un tag en la instrucción FROM, ¿qué versión se descarga?

    La versión latest.

  13. ¿Qué hace Docker con las imágenes ya construidas previamente?

    Las cachea para acelerar futuras construcciones.

  14. ¿Qué puerto usa por defecto el proyecto Java mencionado en el ejercicio?

    El puerto 8080.

  15. ¿Qué extensión debe tener el archivo de aplicación Java mencionado en el ejercicio?

    .jar.

Conceptos Esenciales de Docker y Contenedores

  1. ¿Qué es Docker?

    Es una plataforma que permite crear, ejecutar y gestionar contenedores para desplegar aplicaciones de forma ligera y portable.

  2. ¿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.

  3. ¿Qué significa que Docker sea portable?

    Que las aplicaciones funcionan igual en cualquier máquina, ya que incluyen todas sus dependencias.

  4. ¿Qué implica que Docker sea inmutable?

    Que una imagen no se modifica; para cambiarla se debe crear una nueva.

  5. ¿Cuáles son los tres elementos fundamentales de Docker?

    Imágenes, contenedores y repositorios.

  6. ¿Qué es una imagen Docker?

    Una plantilla que define la base, dependencias y configuración de una aplicación.

  7. ¿Qué es un contenedor Docker?

    Una instancia en ejecución de una imagen donde se ejecuta la aplicación.

  8. ¿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).

  9. ¿Qué son los repositorios Docker?

    Almacenes de imágenes Docker, locales o remotos (como Docker Hub o GitHub Container Registry).

  10. ¿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.

  11. ¿Qué permite el uso de volúmenes en Docker?

    Compartir carpetas del host con el contenedor y mantener datos persistentes.

  12. ¿Para qué sirve el mapeo de puertos?

    Permite acceder a servicios dentro del contenedor desde el host mediante TCP/IP.

  13. ¿Qué comando muestra los contenedores en ejecución?

    docker ps.

  14. ¿Qué comando descarga imágenes desde un repositorio?

    docker pull.

  15. ¿Qué comando crea y ejecuta un contenedor?

    docker run.

  16. ¿Qué hace la opción -p en el comando docker run?

    Mapea un puerto del contenedor a uno del host (por ejemplo, -p 8080:80).

  17. ¿Qué hace la opción -e en docker run?

    Define variables de entorno dentro del contenedor.

  18. ¿Qué comandos se usan para detener o iniciar un contenedor?

    docker stop y docker start.

  19. ¿Cómo se accede a la terminal de un contenedor en ejecución?

    Con docker exec -it <nombre> bash.

  20. ¿Qué comando elimina un contenedor?

    docker rm.

  21. ¿Qué comando elimina una imagen?

    docker rmi.

  22. ¿Qué comando construye una imagen a partir de un Dockerfile?

    docker build -t <nombre-imagen> .

  23. ¿Qué comando muestra los logs de un contenedor?

    docker logs.

  24. ¿Por qué se necesita persistencia en Docker?

    Porque al eliminar un contenedor se pierden sus datos si no se usa un volumen.

  25. ¿Cómo se crea un volumen en Docker?

    Con docker volume create <nombre-del-volumen>.

  26. ¿Cómo se monta un volumen al crear un contenedor?

    Con la opción -v "ruta-local:ruta-contenedor" en docker run.

  27. ¿Qué ocurre si dos contenedores comparten el mismo volumen?

    Los cambios en la carpeta compartida se reflejan en ambos contenedores.

  28. ¿Qué herramienta se usa en el ejercicio práctico para trabajar con Docker?

    GitHub Codespaces.

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *