Skip to content

Elegir UID y construir la imagen

Seguí en Bash del host, dentro de lab y sin una sesión root. Con la receta leída y el instructor disponible para revisar permisos, vamos a elegir la identidad de la imagen antes de construirla.

La imagen usa el usuario node con UID/GID 1000:1000 por defecto. UID es el número que identifica al usuario y GID, el de su grupo. Linux usa esos números para decidir quién puede leer o escribir un archivo, aunque los usuarios tengan nombres distintos dentro y fuera del container. Esto importará cuando montemos el proyecto del host en el agente.

En Linux con Docker Engine comprobá ambos IDs antes de construir. El primer comando muestra tu UID y el segundo, tu GID:

id -u
id -g

Elegí exactamente una de las siguientes opciones. No ejecutes ambas. Docker Desktop y rootless pueden traducir propietarios; en el capítulo del agente comprobaremos escritura antes de cargar credenciales.

Opción A: IDs 1000:1000

Si tus IDs son 1000:1000, o el instructor confirmó usar el valor predeterminado de tu entorno:

docker build -t taller .

Opción B: IDs Linux distintos

En lugar de la opción A, reemplazá TU_UID por el número de id -u y TU_GID por el de id -g. Son marcadores para editar, no nombres de variables ni texto para pegar tal cual:

docker build -t taller   --build-arg WORKSHOP_UID=TU_UID   --build-arg WORKSHOP_GID=TU_GID .

No ejecutes después el build básico sobre la imagen adaptada. No construyas desde una sesión root ni arregles permisos con chmod 777. Si hay un conflicto de IDs, detenete y resolvelo con el instructor.

En cualquiera de las opciones, -t taller da un nombre corto a la imagen. El punto final elige la carpeta actual como contexto de build, es decir, los archivos disponibles durante la construcción, salvo los excluidos por .dockerignore. Por eso importa estar en lab, ya que Docker usa el Dockerfile de esa carpeta. No versionamos etiquetas en este ejercicio.

Cuando termine la única opción que elegiste, buscá la imagen:

docker image ls taller

Buscá taller con etiqueta latest y anotá su IMAGE ID. Todavía no es un container en ejecución. No sigas si el build falló o la imagen no aparece.