Docker – Instrucción WORKDIR

La instrucción WORKDIR se usa para establecer el directorio de trabajo para todas las instrucciones posteriores de Dockerfile . Algunas instrucciones de uso frecuente en un Dockerfile son RUN , ADD , CMD , ENTRYPOINT y COPY. Si WORKDIR no se crea manualmente, se crea automáticamente durante el procesamiento de las instrucciones. Algunos puntos a tener en cuenta al usar la instrucción WORKDIR son los siguientes: 

  • WORKDIR no crea nuevas capas de imagen intermedias.
  • Agrega metadatos a la configuración de imagen.
  • Puede tener varias instrucciones WORKDIR en su Dockerfile .
  • Si usa rutas relativas como directorio de trabajo, será relativo al directorio de trabajo anterior.
  • La ruta predeterminada es /

En este artículo, discutiremos cómo usar la instrucción WORKDIR en su Dockerfile . También discutiremos otras 2 formas de emitir Working Directory dentro de su Dockerfile . Siga los pasos a continuación para trabajar con la instrucción WORKDIR:

Paso 1: Crear el Dockerfile

Puede usar la siguiente plantilla para crear el Dockerfile .

FROM ubuntu:latest
WORKDIR /my-work-dir

Paso 2: crea la imagen de Docker

Para compilar la imagen de Docker, puede usar el comando Compilación de Docker.

sudo docker build -t workdir-demo

building docker image

Paso 3: Ejecute el Contenedor Docker

Para ejecutar Docker Container, puede usar el comando Docker Run.

sudo docker run -it workdir-demo

running the container

El comando anterior abre bash para el contenedor.

Paso 4: verificar el directorio de trabajo

Puede utilizar el comando imprimir directorio de trabajo (pwd) para imprimir el directorio de trabajo.

verifying the directory

Ahora. Discutamos formas de emitir un directorio de trabajo en un Dockerfile . Hay 2 formas posibles de hacerlo, y ambas se explican a continuación:

1. WORKDIR especificando la ruta relativa

Veamos cómo puede especificar una ruta relativa con la instrucción WORKDIR.

El primer paso es crear un Dockerfile como se menciona a continuación:

FROM ubuntu:latest
WORKDIR /my-work-dir
RUN echo "work directory 1" > file1.txt
WORKDIR /my-work-dir-2
RUN echo "work directory 2" > file2.txt

Ahora, compila y ejecuta el contenedor Docker.

sudo docker build -t workdir-demo .
sudo docker run -it workdir-demo bash

issuing working directory

Finalmente, imprima el directorio de trabajo.

pwd

verifying the directory

La primera declaración de eco se ejecuta con el directorio de trabajo establecido en la carpeta «my-work-dir» . Es por eso que si usa el comando ls para ver el contenido de la carpeta, encontrará “file1.txt” dentro de la carpeta “my-work-dir” . La segunda instrucción WORKDIR cambia el directorio de trabajo a «my-work-dir-2» y, por lo tanto, el archivo «file2.txt» está dentro de esa carpeta.

listing directory

2. WORKDIR especificando variables de entorno

La segunda forma de emitir un directorio de trabajo es haciendo uso de las variables de entorno. Siga los pasos a continuación para tomarlo:

El primer paso es usar la siguiente plantilla de Dockerfile como se muestra a continuación:

FROM ubuntu:latest
ENV DIRPATH /app
WORKDIR $DIRPATH

Aquí, configuramos la variable de entorno DIRPATH en el directorio /app y configuramos WORKDIR.

Ahora, después de ejecutar Docker Container, encontrará el directorio configurado como /app

sudo docker build -t workdir-demo .
sudo docker run -it workdir-demo
pwd

issuing working directory

Para concluir, en este artículo, discutimos cómo usar la instrucción WORKDIR en el Dockerfile para configurar el directorio de trabajo. También vimos cómo configurar un directorio de trabajo utilizando rutas relativas y variables de entorno.

Publicación traducida automáticamente

Artículo escrito por iamrj846 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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