Leer Dockerfiles y ejecutar contenedores

Conceptos de contenedores y virtualización

Julia Ostheimer

Freelance AI Consultant

Repaso de términos de Docker

 

De Dockerfile a contenedor de Docker

Conceptos de contenedores y virtualización

Instrucciones vs. comandos de Docker

  • Las instrucciones de Docker indican cómo construir una imagen

Instrucciones de Docker en un Dockerfile

  • Comandos de Docker: comandos por la interfaz de línea de comandos (CLI)

Comandos de Docker en la CLI

Conceptos de contenedores y virtualización

Formato de un Dockerfile

 

Dockerfile: comentario

Conceptos de contenedores y virtualización

Formato de un Dockerfile

 

Dockerfile: instrucción

Conceptos de contenedores y virtualización

Formato de un Dockerfile

 

Dockerfile: comando de una instrucción de Docker

Conceptos de contenedores y virtualización

Formato de un Dockerfile

 

Dockerfile: argumento de una instrucción de Docker

Conceptos de contenedores y virtualización

Orden secuencial en Dockerfiles

  • Ejecución en orden secuencial
  • Inicio de un Dockerfile:
    • Metadatos
    • Comentarios
    • Argumentos
    • Instrucción FROM
Conceptos de contenedores y virtualización

Resumen de instrucciones de Docker

  • Instrucciones de Docker importantes
    • FROM
    • COPY
    • RUN
    • ENTRYPOINT
Conceptos de contenedores y virtualización

Instrucción FROM

  • Especifica una imagen de Docker existente
  • Define la imagen base
    • «Punto de partida»  

Sintaxis:

FROM <name_of_image>

Ejemplo:

# Define la imagen sobre la que construir
FROM python:3.10
Conceptos de contenedores y virtualización

Instrucción COPY

  • Copia archivos o directorios
    • Del origen (<source>) al destino (<destination>)
    • Archivos necesarios para las siguientes instrucciones  

Sintaxis:

COPY <source> <destination>

Ejemplo:

# Copia archivos/carpetas a la carpeta principal del contenedor
COPY . .
Conceptos de contenedores y virtualización

Instrucción RUN

  • Ejecuta un comando dentro de un contenedor
    • Cualquier comando que puedas ejecutar en la CLI

 

Sintaxis:

RUN <command>

Ejemplo:

# Instala las dependencias de la aplicación
RUN pip install -r requirements.txt
Conceptos de contenedores y virtualización

Instrucción ENTRYPOINT

  • Define el comportamiento por defecto del contenedor
    • Especifica el comando al iniciar
    • Propósito principal del contenedor  

Sintaxis:

ENTRYPOINT ["command", "argument"]

Ejemplo:

# Ejecuta el script al iniciar el contenedor
ENTRYPOINT ["python", "hello_world.py"]
Conceptos de contenedores y virtualización

Ensamblar instrucciones en un Dockerfile

# Define la imagen sobre la que construir
FROM python:3.10
Conceptos de contenedores y virtualización

Ensamblar instrucciones en un Dockerfile

# Define la imagen sobre la que construir
FROM python:3.10

# Copia archivos/carpetas a la carpeta principal del contenedor
COPY . .
Conceptos de contenedores y virtualización

Ensamblar instrucciones en un Dockerfile

# Define la imagen sobre la que construir
FROM python:3.10

# Copia archivos/carpetas a la carpeta principal del contenedor
COPY . .

# Instala las dependencias de la aplicación
RUN pip install -r requirements.txt
Conceptos de contenedores y virtualización

Ensamblar instrucciones en un Dockerfile

# Define la imagen sobre la que construir
FROM python:3.10

# Copia archivos/carpetas a la carpeta principal del contenedor
COPY . .

# Instala las dependencias de la aplicación
RUN pip install -r requirements.txt

# Ejecuta el script al iniciar el contenedor
ENTRYPOINT ["python", "hello_world.py"]
Conceptos de contenedores y virtualización

Comando docker build

  • Construye una imagen desde un Dockerfile
    • El Dockerfile debe estar en el contexto de compilación (<context>)
    • Se ejecuta como comando con el cliente de Docker por CLI

 

Sintaxis:

docker build <context>
Conceptos de contenedores y virtualización

Comando docker run

  • Crea y ejecuta un contenedor desde una imagen
    • La imagen debe indicarse como argumento (<name_of_image>)
    • Se ejecuta como comando con el cliente de Docker por CLI

 

Sintaxis:

docker run <name_of_image>
Conceptos de contenedores y virtualización

¡Vamos a practicar!

Conceptos de contenedores y virtualización

Preparing Video For Download...