Resumen

En esta publicación, cubrimos una introducción a los contenedores acoplables y explicamos el concepto de contenedorización a través de ilustraciones conceptuales y un ejemplo práctico. También cubrimos la configuración, construcción y ejecución de contenedores acoplables y explicamos el concepto de ejecutar varios contenedores acoplables juntos a través de docker-compose.

Esta publicación cubre las respuestas para Introducción a Docker y Introducción a la contenedorización habitación en TryHackMe.

¿Qué es la contenerización?

En términos informáticos, la contenedorización es el proceso de empaquetar una aplicación y los recursos necesarios (como bibliotecas y paquetes) en un paquete llamado contenedor. El proceso de empaquetar aplicaciones hace que las aplicaciones sean considerablemente portátiles y fáciles de ejecutar.

Las aplicaciones modernas suelen ser complejas y normalmente dependen de que se instalen marcos y bibliotecas en un dispositivo antes de que la aplicación pueda ejecutarse. Estas dependencias pueden:

  • Ser difícil de instalar dependiendo del entorno en el que se ejecuta la aplicación (¡es posible que algunos sistemas operativos ni siquiera los admitan!)
  • Crea dificultades para que los desarrolladores diagnostiquen y repliquen fallas, ya que podría ser un problema con el entorno de la aplicación, ¡no con la aplicación en sí!
  • A menudo pueden entrar en conflicto entre sí. Por ejemplo, tener varias versiones de Python para ejecutar diferentes aplicaciones es un dolor de cabeza para el usuario, y una aplicación puede funcionar con una versión de Python y no con otra.

Obtenga notas del certificado OSCP

¿Qué son los contenedores Docker?

Docker es una plataforma de contenedorización de código abierto, extensa y relativamente sencilla. El ecosistema Docker permite implementar, gestionar y compartir aplicaciones (imágenes; hablaremos de esto más adelante) con facilidad.

Trabajando en linux, Windows y MacOS, Docker es una opción inteligente para ejecutar aplicaciones. Las aplicaciones pueden publicarse como “imágenes” y compartirse con otras personas. Todo lo que se requiere es extraer (descargar) la imagen y ejecutarla con Docker.

Docker emplea la misma tecnología utilizada en la creación de contenedores para aislar aplicaciones en contenedores llamada Docker Engine. Docker Engine es esencialmente una API que se ejecuta en el sistema operativo host, que se comunica entre el sistema operativo y los contenedores para acceder al hardware del sistema (como CPU, RAM, redes y disco).

Debido a esto, el motor Docker es extenso y le permite hacer cosas como:

  1. Conectar contenedores entre sí (por ejemplo, un contenedor que ejecuta una aplicación web y otro contenedor que ejecuta una base de datos)
  2. Exportar e importar aplicaciones (imágenes)
  3. Transferir archivos entre el sistema operativo y el contenedor.

Docker usa la sintaxis de programación. YAML para permitir a los desarrolladores indicar cómo se debe construir un contenedor y qué se ejecuta. Ésta es una razón importante por la que Docker es tan portátil y fácil de depurar; comparta las instrucciones y las compilará y ejecutará en cualquier dispositivo que admita Docker Engine.

Desafíos Respuestas

¿Cómo se llama la característica del kernel que permite que los procesos utilicen recursos del sistema operativo sin poder interactuar con otros procesos?
en un normal configuración, ¿pueden otros contenedores interactuar entre sí? (sí/no)
¿En qué se convierte una aplicación cuando se publica mediante Docker? Formato: Un xxxxx (rellene las x)

¿Cuál es la abreviatura del lenguaje de sintaxis de programación que utiliza Docker?

¿En qué año se creó originalmente Docker?

¿Dónde se mostró Docker por primera vez?

¿Qué versión de Unix tuvo los primeros conceptos de contenerización?

¿Qué comando podemos usar para ver una lista de procesos en ejecución?
Colocar en contenedores las aplicaciones en el sitio estático. ¿Qué es la bandera?
Si quisiéramos jalar una imagen de Docker, ¿cómo se vería nuestro comando?

Si quisiéramos enumerar todas las imágenes en un dispositivo que ejecuta Docker, ¿cómo se vería nuestro comando?

Digamos que queremos extraer la imagen "tryhackme" (sin comillas); ¿Cómo sería nuestro comando?

Digamos que queremos extraer la imagen "tryhackme" con la etiqueta "1337" (sin comillas). ¿Cómo sería nuestro comando?

¿Cómo se vería nuestro comando si quisiéramos ejecutar un contenedor? interactivamente?

Nota: Supongamos que no especificamos ninguna imagen aquí.

¿Cómo se vería nuestro comando si quisiéramos ejecutar un contenedor en “separado" ¿modo?

Nota: Supongamos que no especificamos ninguna imagen aquí.

Digamos que queremos ejecutar un contenedor que se ejecutará y vincular un servidor web en el puerto 80. ¿Cómo sería nuestro comando?

Nota: Supongamos que no especificamos ninguna imagen aquí.

¿Cómo enumeraríamos todos? correr contenedores?

Ahora, ¿cómo enumeraríamos todo contenedores (incluidos los detenidos)?

¿Qué instrucción usaríamos para especificar qué imagen base debería usar el contenedor?
¿Qué instrucción usaríamos para decirle al contenedor que ejecute un comando?

¿Qué comando de Docker usaríamos para crear una imagen usando un Dockerfile?

Digamos que queremos nombrar esta imagen; ¿Qué argumento usaríamos?

Quiero usar docker-componer  a puesta en marcha una serie de contenedores. ¿Qué argumento me permite hacer esto?

Quiero usar docker-componer  a borrar la serie de contenedores. ¿Qué argumento me permite hacer esto?

¿Cuál es el nombre del archivo .yml que docker-componer ¿usos?

Nota: Para esta pregunta, deberá incluir el .yml extensión de archivo en su respuesta

¿Qué significa el término "IPC"?
¿A qué tecnología se puede igualar el Docker Server?
Conéctese a la máquina. ¿Cuál es el nombre del contenedor que se está ejecutando actualmente?

Utilice Docker para iniciar un servidor web con la imagen del "servidor web" (sin comillas). Necesitaras ejecutar el contenedor con el puerto 80.

Después de iniciar el contenedor, intente conectarse a https://LAB_WEB_URL.p.thmlabs.com/ en tu navegador. ¿Qué es la bandera?

Tutorial en vídeo

Acerca del Autor

Creo notas de ciberseguridad, notas de marketing digital y cursos online. También brindo consultoría de marketing digital que incluye, entre otros, SEO, Google y meta anuncios y administración de CRM.

Ver Artículos