Instrucciones comunes: FROM, RUN, COPY, CMD

FROM

Define la imagen base. Siempre es la primera instrucción real del Dockerfile. Ejemplo: FROM python:3.11, FROM node:20, FROM ubuntu:22.04.

RUN

Ejecuta un comando durante la construcción de la imagen (por ejemplo, instalar dependencias). Cada RUN crea una nueva capa. Ejemplo: RUN pip install -r requirements.txt.

COPY

Copia archivos desde tu máquina (contexto de build) hacia el sistema de archivos de la imagen. Ejemplo: COPY requirements.txt . o COPY . /app.

(ADD es similar a COPY pero además puede descomprimir archivos .tar y descargar URLs; en general se prefiere COPY salvo que necesites eso.)

CMD

Define el comando por defecto que se ejecuta cuando se arranca un contenedor a partir de la imagen (no durante el build). Solo puede haber un CMD efectivo por imagen. Se suele escribir en forma de lista (formato "exec"): CMD ["python", "app.py"].

Diferencia clave: RUN se ejecuta al construir la imagen; CMD se ejecuta al arrancar el contenedor.

Otras instrucciones útiles

Ejercicios