Want to create interactive content? It’s easy in Genially!
Mapa Mental
Equipo Curso Estandar
Created on November 6, 2024
Start designing with a free template
Discover more than 1500 professional designs like these:
View
January School Calendar
View
Genial Calendar 2026
View
School Calendar 2026
View
January Higher Education Academic Calendar
View
School Year Calendar January
View
Academic Calendar January
View
Comic Flipcards
Transcript
Conceptos Básicos
Imagenes
Contenedores
Lorem ipsum dolor sit
Docker
Conceptos y aplicaciones
Lorem ipsum dolor sit
Registro de imagenes
Construcción de imagenes
DockerFile
DockerHub
¿Qué es?
Ventajas
Docker Hub es el repositorio de imágenes en línea más grande y oficial de Docker. Actúa como un "almacén" público donde los desarrolladores pueden buscar, almacenar, distribuir y compartir imágenes de contenedores.
- Acceso a imágenes listas para producción: Ahorra tiempo al no tener que configurar aplicaciones y sistemas desde cero.
- Colaboración y Distribución: Facilita la colaboración y distribución de aplicaciones entre desarrolladores y equipos.
- Automatización: Simplifica la integración continua y la entrega continua (CI/CD) con construcciones automáticas y despliegues de imágenes.
Caracteristicas clave
Repositorios de imagenes accesibles publica/privadamente.
Automated Builds: Permite configurar repositorios en Docker Hub para realizar construcciones automáticas de imágenes desde código fuente en GitHub o Bitbucket.
Docker Hub Registry: Actúa como un registro, proporcionando a los desarrolladores un lugar donde pueden alojar sus imágenes para luego descargarlas y usarlas en cualquier máquina con Docker instalado
Imagenes oficiales y verificadas para su uso de sistemas y aplicaciones comunmente utilizados como ubuntu o mysql.
¿Qué es?
Ejemplo
# Usa una imagen base de Python FROM python:3.8-slim #Establece el directorio de trabajo WORKDIR /app #Copia los archivos de la aplicación COPY . /app #Instala las dependencias RUN pip install -r requirements.txt #Expone el puerto que la aplicación usará EXPOSE 5000 #Define el comando para iniciar la aplicación CMD ["python", "app.py"]
Archivo de texto que contiene instrucciones para crear una imagen de Docker. Define los pasos que Docker debe seguir para construir una imagen personalizada, incluyendo qué sistema operativo base usar, qué aplicaciones instalar, qué archivos agregar, qué configuraciones realizar y cómo iniciar la aplicación.
Estructura
FROM: Especifica la imagen base que se utilizará. Este es el primer paso en casi cualquier Dockerfile y define el sistema operativo o entorno básico.
RUN: Ejecuta comandos en la imagen, como la instalación de paquetes. Cada comando RUN crea una nueva capa en la imagen.
COPY: Copia archivos desde el sistema de archivos local del host al sistema de archivos del contenedor.
WORKDIR: Establece el directorio de trabajo en el contenedor. Los comandos subsecuentes se ejecutarán desde este directorio.
CMD: Define el comando por defecto que se ejecutará cuando el contenedor se inicie. Solo puede haber una instrucción CMD en un Dockerfile; si se especifican varias, se utiliza solo la última.
EXPOSE: Informa sobre el puerto en el que la aplicación en el contenedor escuchará.
Construcción de imagenes.
Una vez que tienes el Dockerfile listo, puedes construir la imagen ejecutando el comando docker build. Ejecuta el siguiente comando en la terminal, en el directorio donde tienes el Dockerfile:
-t nombre-de-la-imagen: Asigna una etiqueta o nombre a la imagen que estás construyendo. Esto facilita el uso de la imagen después de creada. . : Indica el contexto de construcción, que es el directorio actual. Docker tomará el Dockerfile y todos los archivos necesarios desde este directorio.
Registro de imagenes en DockerHub
Registrar imágenes en DockerHub permite compartir tus aplicaciones y entornos fácilmente con otros usuarios. Para hacerlo, primero debes iniciar sesión en Docker desde la terminal, etiquetar la imagen con tu nombre de usuario y el nombre deseado, y luego subirla a DockerHub. Este proceso facilita la distribución y despliegue de aplicaciones en cualquier entorno compatible con Docker.
Imagenes
Beneficios
Plantillas inmutables que contienen todo lo necesario para ejecutar una aplicación en un entorno Docker. Cada imagen es una "Fotografia" de un sistema de archivos que incluye:
- Sistema operativo base (como Ubuntu, Debian o Alpine).
- Dependencias necesarias para ejecutar una aplicación (librerías, herramientas, paquetes).
- Código de la aplicación que se quiere ejecutar.
- Configuración específica, como variables de entorno y comandos de inicio.
- Portabilidad: Puedes ejecutar la misma imagen en cualquier sistema que soporte Docker.
- Consistencia: Como incluyen todas las dependencias, no hay conflictos entre entornos.
- Rapidez y eficiencia: Al ser basadas en capas y reutilizables, las imágenes ahorran tiempo y recursos en comparación con instalaciones repetitivas.
Caracteristicas clave
Capas y almacenamiento en capas: Las imágenes están compuestas de varias capas, cada una creada en base a la anterior.
Inmutabilidad: Las imágenes son inmutables, es decir, no se pueden modificar una vez creadas. Si se realizan cambios, se crea una nueva imagen basada en la original.
Versionamiento: Las imágenes pueden tener versiones mediante etiquetas (tags). Por ejemplo, nginx:latest o nginx:1.21. Esto permite controlar qué versión de la imagen se está utilizando.
Contenedores
Comparado ante una maquina virtual
Instancias en ejecución de una imagen de Docker. Son unidades ligeras, autónomas y portátiles que ejecutan aplicaciones en un entorno aislado.
- Mas ligero que una maquina virtual.
- Ejecución mas rapida.
- Aislado pero comparte kernel.
- Bajo uso de recursos al no necesitar de un SO completo.
Funcionalidad
Interacción: Se puede acceder a los contenedores de varias formas (por ejemplo, abriendo un puerto para comunicaciones externas o usando un volumen para almacenamiento).
Creación: Los contenedores se crean a partir de una imagen, que proporciona una "instantánea" de lo que el contenedor debe contener y cómo debe funcionar.
Detención y eliminación: Los contenedores pueden detenerse y eliminarse cuando ya no se necesitan. Los datos almacenados dentro del contenedor se pierden a menos que se usen volúmenes o bind mounts para almacenamiento persistente.
Ejecución: Cuando se ejecuta, el contenedor inicia con el sistema de archivos especificado en la imagen y carga el proceso definido (por ejemplo, un servidor web, una base de datos, etc.).