Docker, Git y GitHub
|
|
Título del Test:
![]() Docker, Git y GitHub Descripción: Contenedores Docker, Git y GitHub |



| Comentarios |
|---|
NO HAY REGISTROS |
|
¿Cuál es la principal diferencia en el modelo de virtualización entre las Máquinas Virtuales (VM) y los contenedores Docker?. Los contenedores virtualizan el sistema operativo, compartiendo el kernel del host. Los contenedores son más pesados que las VM debido a la duplicación del kernel. Los contenedores incluyen un sistema operativo invitado (Guest OS) completo en cada instancia. Las Máquinas Virtuales no requieren un hipervisor para ejecutarse. En el contexto del Kernel de Linux, ¿cuál es la función primordial de los 'Namespaces' (Espacios de Nombres) en Docker?. Limitar el uso de CPU y memoria RAM por cada contenedor. Unificar múltiples capas de archivos en una sola vista coherente. Acelerar la descarga de imágenes desde Docker Hub. Proporcionar aislamiento de procesos, definiendo qué puede 'ver' el contendor. De acuerdo con la propuesta de valor de Docker, ¿qué problema fundamental resuelve en el ciclo de vida del software?. La gestión manual de los parches de seguridad del hardware físico. La necesidad de escribir código en múltiples lenguajes de programación. La eliminación total de la necesidad de servidores en la nube. El conflicto de dependencias y el problema de 'en mi máquina funcionaba'. ¿Qué característica define fundamentalmente a una imagen de Docker?. Es un archivo binario único que no contiene capas. Es una instancia ejecutable que se puede modificar en tiempo de ejecución. Es una plantilla de solo lectura que es inmutable. Es una capa de escritura temporal que se destruye al apagar el equipo. Cuando se ejecuta el comando `docker run`, ¿cuál es la función de la capa de escritura (R/W layer) que se añade sobre la imagen?. Optimizar el tamaño de la imagen descargada desde Docker Hub. Permitir que el contenedor realice cambios temporales mientras está en ejecución. Proporcionar el kernel de Linux necesario para el funcionamiento del contenedor. Almacenar permanentemente los cambios en la imagen base. Durante el ciclo de vida de un comando `docker run -d -p 80:80 nginx`, ¿qué ocurre inmediatamente después de crear el contenedor con su capa R/W?. Se comprueba si la imagen existe en el registro remoto. Se descarga la imagen desde Docker Hub. Se ejecuta el comando final (CMD) para iniciar el proceso. Se asigna una IP y se mapean los puertos definidos. ¿Cuál es el propósito principal de utilizar una compilación 'Multi-stage' en un Dockerfile?. Ejecutar varios contenedores al mismo tiempo con un solo comando. Aumentar la seguridad permitiendo múltiples contraseñas de acceso. Permitir que el contenedor se ejecute en múltiples sistemas operativos simultáneamente. Optimizar radicalmente el tamaño de la imagen final descartando herramientas de compilación innecesarias. En la persistencia de datos, ¿cuál es la diferencia clave entre un 'Bind Mount' y un 'Volume'?. Los volúmenes solo funcionan en sistemas operativos Windows. Los bind mounts son más rápidos porque no requieren el uso del disco duro. Los volúmenes son gestionados por Docker en una ruta específica del host (/var/lib/docker/volumes), mientras que bind mounts dependen de la estructura de carpetas del usuario. Los datos en un 'Bind Mount' se borran cuando el contenedor se detiene. ¿Qué modo de red de Docker ofrece el máximo rendimiento al eliminar el aislamiento de red entre el host y el contenedor?. Host. Bridge. Overley. None. Al instalar Docker en Linux (Ubuntu/Mint), ¿cuál es el paso de 'Post-install' recomendado para evitar el uso constante de `sudo`?. Eliminar la contraseña del usuario administrador. Reiniciar el equipo en modo a prueba de fallos. Añadir el usuario actual al grupo de sistema llamado `docker`. Desactivar el firewall del sistema operativo. ¿Cuál es la principal diferencia arquitectónica entre una máquina virtual (VM) y un contenedor según el material proporcionado?. Las máquinas virtuales están enfocadas exclusivamente en microservicios. Los contenedores comparten el sistema operativo del host, mientras que las VMs incluyen un sistema operativo completo. Los contenedores requieren un hipervisor de tipo 1 para gestionar los recursos físicos. Las máquinas virtuales son inmutables, mientras que los contenedores cambian su estado permanentemente. ¿Qué tecnología del kernel de Linux utiliza Docker para proporcionar un entorno aislado (el contenedor) a los procesos?. UnionFS. AppArmor. Namespaces. Cgroups. ¿qué sucede con los procesos que se ejecutan como usuario root dentro de un contenedor por defecto?. El sistema les asigna un UID aleatorio superior a 1000. Se ejecuta como el usuario root en la máquina anfitriona. Se mapean automáticamente a un usuario sin privilegios por seguridad. Son bloqueados por el motor de Docker para evitar riesgos de seguridad. ¿A partir de qué versión de Windows Server está disponible la tecnología de contenedores nativos de Microsoft?. Windows Server 2016. Windows Server 2012 R2. Windows Server 2019 LTS. Windows Server 2022. ¿Cómo se define una 'imagen' en el contexto de Docker?. Archivos inmutables de solo lectura que contienen todo lo necesario para ejecutar una aplicación. Una instancia en tiempo de ejecución de un proceso aislado. Un script de configuración que descarga dependencias durante la ejecución. Un sistema de archivos temporal que se borra al detener el proceso. Cuando se crea un contenedor a partir de una imagen, ¿qué cambio se aplica sobre el sistema de archivos?. Se fusionan todas las capas de la imagen en un único archivo binario mutable. Se crea una copia física completa de la imagen en una nueva partición del disco. Se eliminan los permisos de lectura de la imagen base por seguridad. Se añade una nueva capa con permisos de lectura y escritura sobre la imagen. ¿Cuál es el propósito del registro (registry) en la arquitectura de Docker?. Monitorear el uso de CPU y memoria de los contenedores activos. Traducir los comandos de la terminal a lenguaje binario del kernel. Gestionar la red virtual entre contenedores en diferentes hosts. Almacenar y distribuir imágenes de Docker de forma pública o privada. ¿Qué utilidad tiene la opción --detach (o −d) al lanzar un contenedor con el comando docker run?. Ejecuta el contenedor en segundo plano y devuelve el ID del mismo. Desconecta el contenedor de la red para que sea totalmente privado. Permite entrar directamente en la terminal interactiva del contenedor. Elimina automáticamente el contenedor una vez que el proceso se detiene. En un archivo Dockerfile, ¿qué representa cada comando o instrucción escrita?. Una capa adicional en la imagen final resultante. Un comentario de texto para el administrador del sistema. Un proceso independiente que se ejecutará en paralelo. Una entrada obligatoria en el registro de Docker Hub. ¿Cuál es la función del comando docker exec seguido de la opción -it?. Reiniciar un contenedor que se ha detenido por un error. Exportar el contenido del contenedor a un archivo comprimido. Instalar el motor de Docker en una máquina remota. Abrir una terminal interactiva dentro de un contenedor que ya está en funcionamiento. ¿Cuál es el propósito principal de un Sistema de Control de Versiones (VCS)?. Servir exclusivamente como un servicio de mensajería instantánea para programadores. Aumentar la velocidad de procesamiento de los archivos de código fuente. Registrar los cambios en archivos a lo largo del tiempo para recuperar versiones específicas. Eliminar automáticamente los errores de sintaxis en el código programado. ¿En qué se diferencia principalmente un sistema de control de versiones distribuido, como Git, de uno centralizado?. Es más ligero al manejar proyectos grandes debido a la falta de un servidor principal. Solo permite trabajar con un archivo a la vez para evitar conflictos entre usuarios. Requiere una conexión permanente a internet para realizar cualquier operación de guardado. Cada integrante del equipo mantiene una copia local completa del repositorio. Dentro de la arquitectura local de Git, ¿cuál es la función del 'Index' o 'Stage Area'?. Almacenar permanentemente todas las versiones históricas del proyecto. Servir de enlace directo y obligatorio con el servidor remoto en la nube. Contener los archivos físicos con los que el usuario está interactuando actualmente. Actuar como una zona intermedia para preparar los cambios antes de confirmarlos. Si un archivo ha sufrido cambios pero aún no ha sido añadido al área de preparación, ¿en qué estado se encuentra según Git?. Confirmado (committed). Modificado (modified). Preparado (staged). Sin seguimiento (untracked). ¿Qué relación existe entre Git y GitHub?. Git es el sistema de control de versiones y GitHub es un servicio de hosting para repositorios Git. Son exactamente el mismo hardware desarrollado por Linus Torvalds en 2005. Git solo funciona si el usuario tiene una cuenta activa y pública en GitHub. GitHub es el lenguaje de programación en el que se basa el funcionamiento de Git. ¿Por qué se dice que Git ofrece una 'autenticación criptográfica del historial'?. Porque el ID de cada commit depende del historial completo previo. Porque requiere que el usuario ingrese una contraseña cifrada cada vez que abre un archivo. Porque utiliza algoritmos de inteligencia artificial para detectar intrusos en el sistema. Porque solo permite el acceso a través de conexiones satelitales encriptadas. Al configurar Git por primera vez, ¿qué comando se utiliza para establecer el nombre de usuario de forma global en el sistema?. git set --user "Nombre". git config --global user.name "Nombre". git init user.name "Nombre". git add user.identity "Nombre". ¿Qué sucede técnicamente cuando se borra el directorio oculto `.git` de una carpeta de proyecto?. Se sincronizan automáticamente todos los cambios con el repositorio remoto para evitar pérdidas. El sistema operativo bloquea el acceso a los archivos para proteger la integridad del código. Se elimina toda la metainformación y el historial de versiones, dejando solo los archivos actuales. El proyecto se comprime automáticamente en un archivo ZIP para ahorrar espacio. ¿Qué representa un 'commit' en la terminología de Git?. Una solicitud de permiso para empezar a escribir código nuevo. El nombre que recibe el servidor central donde se aloja el proyecto. Una instancia (snapshot) individual del contenido del proyecto en un instante determinado. Un error crítico que impide que el código se ejecute correctamente. ¿Qué comando permite ver las diferencias entre el estado actual y una versión de hace dos confirmaciones utilizando la sintaxis de referencia?. git status --compare. git show --past 2. git diff HEAD~2..HEAD. git log --diff=2. En el contexto de Git, ¿qué es 'HEAD'?. Un comando para borrar la parte superior de un archivo de texto. Un apuntador especial que indica la rama local en la que se encuentra el usuario actualmente. El primer commit realizado en la historia de un repositorio. El nombre obligatorio que debe tener el programador líder del proyecto. ¿Cuál es la principal ventaja del modelo 'Copiar-modificar-fusionar' frente al de 'Bloqueo'?. Es el único modelo que permite trabajar sin necesidad de tener una copia local. Garantiza que nunca existan conflictos de código entre los programadores. Reduce el tamaño de los archivos de código mediante algoritmos de fusión. Permite que varios desarrolladores trabajen simultáneamente en el mismo archivo. Si has realizado cambios en varios archivos y deseas deshacerlos todos para dejar el proyecto exactamente como estaba en el último commit, ¿qué comando usarías?. git clean -f. git checkout --. git remove --all-changes. git commit --undo. ¿Qué característica define a las ramas (branches) en Git?. Son carpetas físicas independientes que se crean en el disco duro para cada nueva idea. Son copias de seguridad que se borran automáticamente cada 24 horas. Solo pueden ser creadas por el administrador del servicio remoto. Son referencias ligeras a un commit específico. ¿Cuál es el nombre por defecto de la rama principal de desarrollo que se crea al iniciar un repositorio?. trunk. head. master. root. ¿Qué comando se usa para clonar un repositorio?. git copy. git fork. git clone. git init. ¿Qué comando se usa para guardar cambios en el historial local?. git push. git commit. git save. git upload. ¿Qué hace git push?. Descarga cambios. Elimina una rama. Sube cambios al repositorio remoto. Crea un nuevo repositorio. ¿Qué es un "branch"?. Una copia del servidor. Una versión paralela del proyecto. Un archivo oculto. Un error en el código. ¿Qué es un Pull Request en GitHub?. Una solicitud para borrar código. Una petición para fusionar cambios. Una descarga automática. Un respaldo del proyecto. ¿Cuál es la diferencia principal entre git merge y git rebase?. Merge elimina el historial y rebase lo conserva. Rebase crea un commit extra de fusión y merge no. Merge conserva el historial con un commit de unión, rebase reescribe el historial. No hay diferencia. ¿Qué problema puede generar usar git rebase en una rama compartida?. Borra el repositorio remoto. Reescribe el historial y puede generar conflictos a otros colaboradores. Elimina los tags. Impide hacer push. ¿Qué es un conflicto de merge?. Un error de red. Cuando Git no puede decidir automáticamente qué cambios conservar. Un fallo del servidor de GitHub. Un problema del sistema operativo. ¿En qué archivo se definen normalmente los pipelines de CI en GitHub?. package.json. .git/config. .github/workflows/*.yml. docker-compose.yml. ¿Qué es GitHub Actions?. Un plugin de VS Code. Un sistema de CI/CD integrado en GitHub. Un gestor de paquetes. Un cliente Git de escritorio. ¿Qué significa CI en CI/CD?. Code Integration. Continuous Integration. Centralized Infrastructure. Code Inspection. ¿Qué significa CD en CI/CD?. Continuous Deployment o Continuous Delivery. Code Distribution. Central Deployment. Control Delivery. ¿Qué comando permite integrar cambios remotos sin crear automáticamente un commit de merge?. git fetch. git pull. git merge --auto. git clone --no-commit. ¿Qué es un "detached HEAD"?. Cuando el repositorio está corrupto. Cuando se está trabajando directamente sobre un commit y no sobre una rama. Cuando falla un merge. Cuando no existe rama principal. ¿Qué hace git squash (o squash merge)?. Elimina commits antiguos. Combina múltiples commits en uno solo. Borra ramas. Limpia el repositorio. ¿Qué ocurre cuando ejecutas git add archivo.txt?. Se guarda definitivamente en el historial. Se sube al repositorio remoto. Se mueve al área de staging. Se crea una nueva rama. ¿Qué muestra git status?. El historial completo de commits. El estado del área de trabajo y del staging. Los cambios del repositorio remoto. Solo errores del repositorio. ¿Qué permite hacer git log?. Ver el historial de commits. Eliminar commits antiguos. Editar mensajes de commit. Comparar ramas automáticamente. ¿Cuál es la diferencia entre git reset --soft y git reset --hard?. Soft borra archivos y hard no. Soft mueve HEAD pero mantiene cambios en staging; hard elimina cambios del working directory. Hard solo funciona en remoto. No hay diferencia real. ¿Qué hace git reset HEAD archivo.txt?. Borra el archivo. Lo elimina del repositorio. Lo saca del área de staging. Lo sube al remoto. ¿Qué diferencia hay entre git fetch y git pull?. Fetch descarga cambios sin fusionarlos; pull descarga y fusiona. Pull solo funciona en GitHub. Fetch elimina ramas remotas. No hay diferencia. ¿Qué hace git rm archivo.txt?. Lo elimina solo del staging. Lo elimina del sistema y del índice de Git. Lo mueve a otra rama. Lo deshace del último commit. ¿Qué comando permite cambiar a otra rama?. git branch. git switch o git checkout. git move. git change. ¿Qué comando crea una nueva rama sin cambiar a ella?. git switch -b. git branch nombre_rama. git checkout nombre_rama. git new branch. ¿Qué instrucción en un Dockerfile permite definir la imagen base?. START. BASE. FROM. IMAGE. ¿Cuál es la diferencia entre CMD y ENTRYPOINT en un Dockerfile?. Son idénticos. CMD no se puede sobrescribir. ENTRYPOINT define el ejecutable principal y CMD los argumentos por defecto. ENTRYPOINT solo funciona en Linux. ¿Qué ocurre si no se usa .dockerignore correctamente?. El contenedor no arranca. Se pueden copiar archivos innecesarios al contexto de build, aumentando el tamaño de la imagen. Docker elimina archivos automáticamente. Se rompe el Dockerfile. ¿Cuál es la diferencia entre EXPOSE y publicar un puerto con -p?. EXPOSE publica el puerto automáticamente. -p solo documenta el puerto. EXPOSE documenta el puerto; -p lo publica en el host. No hay diferencia. ¿Qué ventaja principal tienen los volúmenes (volumes) frente al almacenamiento dentro del contenedor?. Mejoran la velocidad del CPU. Permiten persistencia de datos fuera del ciclo de vida del contenedor. Reducen el uso de RAM. Eliminan la necesidad de imágenes. ¿Qué es Docker Compose?. Un contenedor especial. Una herramienta para definir y ejecutar aplicaciones multi-contenedor. Un tipo de imagen optimizada. Un orquestador de producción equivalente a Kubernetes. ¿Qué significa que Docker use un sistema de capas (layers)?. Cada contenedor tiene su propio sistema operativo. Las imágenes se construyen en capas reutilizables e inmutables. Docker solo funciona en Linux. Las capas pueden modificarse en ejecución. ¿Cuál es una buena práctica para reducir el tamaño de una imagen?. Instalar todas las dependencias posibles. Usar imágenes base pequeñas como Alpine Linux. Ejecutar múltiples procesos en el mismo contenedor. No limpiar archivos temporales. ¿Qué caracteriza a la red bridge en Docker?. Permite comunicación entre contenedores en distintos hosts sin configuración adicional. Es la red por defecto y permite comunicación entre contenedores en el mismo host. Requiere un orquestador externo para funcionar. Solo funciona en Windows. ¿Cuál es el propósito principal de una red overlay en Docker?. Conectar contenedores dentro del mismo host. Permitir comunicación entre contenedores en múltiples hosts dentro de un clúster. Reemplazar la red bridge automáticamente. Mejorar el rendimiento del CPU. ¿Cuál es la ventaja principal de usar multi-stage builds en un Dockerfile?. Permite ejecutar múltiples contenedores a la vez. Reduce el tamaño final de la imagen eliminando dependencias de compilación. Mejora la velocidad de red. Sustituye Docker Compose. |




