Saltar al contenido principal

📁 Archivos en Docker

En esta clase se explora cómo acceder al sistema de archivos de un contenedor Docker para entender mejor su estructura y la importancia de trabajar siempre desde un directorio de trabajo definido.

Durante la demostración se inspecciona un contenedor que continúa ejecutándose para observar tanto su consumo de recursos como el contenido de su sistema de archivos.

🔍 Inspeccionando un contenedor

Una vez que el contenedor está en ejecución, Docker permite entrar en él para inspeccionar su contenido.

Al hacerlo es posible recorrer el sistema de archivos y visualizar todas las carpetas y archivos que existen dentro del contenedor.

Entre ellas aparecen directorios habituales de cualquier sistema Linux, como:

  • bin
  • etc
  • Otras carpetas propias del sistema

Además, también aparece el directorio creado específicamente para nuestra aplicación durante la construcción de la imagen.

🏗️ El papel de WORKDIR

La carpeta donde se encuentra nuestra aplicación no aparece por casualidad.

Se crea porque durante el Dockerfile se definió un directorio de trabajo mediante la instrucción WORKDIR.

Gracias a ello, todos los archivos del proyecto quedan agrupados dentro de una ubicación concreta en lugar de mezclarse con el resto del sistema operativo del contenedor.

⚠️ ¿Por qué no trabajar desde la raíz?

Una mala práctica sería copiar directamente los archivos de la aplicación sobre la raíz (/) del contenedor.

El problema es que podrían producirse conflictos con directorios ya existentes o con carpetas que el propio sistema necesita para funcionar.

Por ejemplo, podrías terminar creando carpetas con nombres similares a:

  • usr
  • var
  • tmp
  • u otros directorios del sistema

Esto dificulta la organización y aumenta el riesgo de sobrescribir o interferir con la estructura del contenedor.

📂 Utiliza siempre un directorio dedicado

La recomendación es muy sencilla:

Crea un directorio específico para tu aplicación y trabaja siempre desde ahí.

Al utilizar un WORKDIR:

  • Todo el código queda organizado en un único lugar.
  • Se evita contaminar la raíz del sistema.
  • Se reducen los posibles conflictos con archivos internos del contenedor.
  • Resulta mucho más sencillo localizar todos los recursos de la aplicación.

📌 Ideas clave de esta clase

Quédate con estos conceptos:

  • Un contenedor puede inspeccionarse para ver su sistema de archivos.
  • Docker incluye una estructura de directorios propia basada en Linux.
  • WORKDIR define el directorio de trabajo de la aplicación.
  • Los archivos del proyecto deben almacenarse dentro de ese directorio.
  • Evita trabajar directamente desde la raíz del contenedor.
  • Mantener una estructura organizada reduce errores y facilita el mantenimiento.

🚀 Lo siguiente

Ahora que ya conoces cómo se organizan los archivos dentro de un contenedor y por qué WORKDIR es una buena práctica, el siguiente paso será profundizar en cómo Docker gestiona la persistencia de datos y qué ocurre con los archivos cuando un contenedor se elimina.


💡 Tip: Siempre define un WORKDIR en tu Dockerfile. Mantener tu aplicación aislada dentro de un directorio específico hará que tus imágenes sean más limpias, predecibles y fáciles de mantener.