dos formas principales de trabajar:

  

Dockerfile

  • Es un archivo de texto con instrucciones para construir una imagen

  • Contiene el "código fuente" de la imagen

  • Es editable - puedes modificarlo cuando quieras

  • No es ejecutable directamente

  • Ejemplo de Dockerfile:

dockerfile
FROM ubuntu:20.04
RUN apt-get update && apt-get install -y python3
COPY . /app
WORKDIR /app
CMD ["python3", "app.py"]

Imagen de Docker

  • Es el resultado compilado del Dockerfile

  • Es un paquete ejecutable que contiene todo lo necesario para correr una aplicación

  • Es de solo lectura - no se modifica directamente

  • Se puede ejecutar para crear contenedores

  • Se almacena en un registro como Docker Hub

Analogía útil

  • Dockerfile = Receta de cocina (instrucciones)

  • Imagen de Docker = Plato cocinado (resultado listo para usar)

Flujo de trabajo

  1. Escribes un Dockerfile

  2. Construyes la imagen: docker build -t mi-app .

  3. Ejecutas la imagen: docker run mi-app

dos formas principales de trabajar:

1. Usar imágenes pre-construidas (Descargar)

bash
# Descargas una imagen ya hecha de Docker Hub
docker pull nginx
docker pull python:3.9
docker pull mysql

# Y las ejecutas directamente
docker run -d nginx

Ventajas: Rápido, no necesitas configurar nada

2. Crear tus propias imágenes (Con Dockerfile)

bash
# Creas un Dockerfile personalizado
# Luego construyes tu imagen
docker build -t mi-app-personalizada .

# Y ejecutas tu imagen personalizada
docker run mi-app-personalizada

Ventajas: Total control, aplicaciones específicas

Escenarios típicos:

Cuando descargar imágenes:

  • Bases de datos (MySQL, PostgreSQL)

  • Servidores web (Nginx, Apache)

  • Lenguajes/frameworks (Python, Node.js)

  • Herramientas (Redis, MongoDB)

Cuando crear tu propio Dockerfile:

  • Tu aplicación personalizada

  • Cuando necesitas dependencias específicas

  • Para empaquetar tu código

  • Entornos de desarrollo custom

Ejemplo práctico:

bash
# Caso 1: Usar PostgreSQL pre-construido
docker run --name mi-db -e POSTGRES_PASSWORD=1234 -d postgres

# Caso 2: Crear mi app con Dockerfile
# (Después de crear el Dockerfile)
docker build -t mi-api .
docker run -p 5000:5000 mi-api

Comentarios

Entradas más populares de este blog

ejercicios-Crear Carpeta y Archivo de Texto en Ubuntu

Instalar Docker en Ubuntu Server usando docker.io

Tutorial de Carpetas y Directorios en Ubuntu Linux