Instrucción WORKDIR Dockerfile

instruccion-workdir-dockerfile
instruccion-workdir-dockerfile

En esta lección aprenderás instrucción WORKDIR Dockerfile, una instrucción sencilla pero muy importante para ordenar builds, evitar rutas relativas confusas y dejar claro desde dónde se ejecutan comandos como RUN, CMD, ENTRYPOINT, COPY o ADD.

WORKDIR no ejecuta tu aplicación ni instala paquetes. Su función es definir el directorio de trabajo dentro de la imagen para las instrucciones siguientes.

👉 Y recuerda, si quieres aprender más de Linux, pincha en este curso de Linux gratis

🐳 Si quieres aprender más de Docker, pincha en este curso de Docker gratis

Qué hace la instrucción WORKDIR Dockerfile

Problema: si un Dockerfile mezcla rutas absolutas y relativas sin orden, es fácil copiar archivos en un sitio y ejecutar comandos desde otro.

Qué aporta Docker: WORKDIR fija el directorio actual para las instrucciones posteriores. Si la ruta no existe, Docker la crea durante el build.

ComportamientoResultado
WORKDIR /appDefine /app como directorio de trabajo y lo crea si no existe.
COPY . .Copia el contexto al WORKDIR actual.
RUN npm installEjecuta el comando desde el WORKDIR actual.

Ejemplo práctico

FROM node:22-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install --omit=dev
COPY . .
CMD ["node", "server.js"]

En este ejemplo, WORKDIR /app evita repetir rutas largas. COPY package*.json ./ y RUN npm install trabajan dentro de /app, no en la raíz del sistema de archivos.

Errores comunes

  • Olvidar WORKDIR: puede hacer que COPY, RUN o CMD dependan de rutas poco claras.
  • Usar rutas relativas sin saber el directorio actual: complica depurar errores de archivos no encontrados.
  • Cambiar WORKDIR demasiadas veces: vuelve el Dockerfile difícil de leer.
  • Confundir WORKDIR con volumen: WORKDIR define ubicación de trabajo, no persistencia de datos.

Advertencia: no uses WORKDIR para ocultar desorden. Si tu imagen necesita muchos cambios de directorio, probablemente conviene simplificar la estructura del proyecto o separar etapas de build.

Lecciones relacionadas del curso Docker

Documentación oficial y recursos

La instrucción WORKDIR Dockerfile queda bien usada cuando mejora la claridad del Dockerfile y evita depender de rutas implícitas.

Como regla práctica, define un directorio estable pronto y úsalo de forma consistente durante el resto de la construcción.

Comentarios

No hay comentarios aún. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *