Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

176
Vistas
¿En qué directorio comienza una compilación de Docker?

Tengo un Dockerfile que tiene, entre otras directivas, las siguientes:

 FROM node:alpine RUN cd /tmp && \ # several lines downloading/installing packages from zips ... ADD src/config.json /myapp/config.json WORKDIR /myapp

Esto está diseñado para ejecutarse desde la raíz del repositorio de la aplicación para construir el contenedor acoplable. El comando RUN se coloca temprano porque obtiene las dependencias de la aplicación y esto lógicamente debería ocurrir al principio del proceso. (También está encadenando un montón de comandos para mantener bajo el número de capas). Sin embargo, el comando ADD espera estar en la misma ubicación que el Dockerfile, la raíz del repositorio.

Dado eso, ¿hay alguna manera de 'recordar' desde dónde comenzó la compilación de la ventana acoplable y usar esto para orientar el ADD ? (Específicamente, ejecutar esto en un entorno de desarrollo local tendrá un whereami diferente cuando se construya que mi servidor de compilación). ¿O estoy atascado intercalando estos comandos, primero copiando la configuración, luego descargando dependencias, etc.?

Cuando construyo, estoy haciendo esto desde el directorio raíz de mi proyecto (que contiene una carpeta src ):

 docker build -t myapp:dev .

El error que me sale es:

lstat src/config.json: no existe tal archivo o directorio

Si inserto RUN pwd , la compilación de docker lo informa como / , pero no sé si esto es lo que considera su 'contexto' (es decir, cualquier comando ADD es relativo a pwd ).

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

El comando de docker build tiene un parámetro requerido, una ruta al contexto para enviar al motor de docker para realizar la compilación. Esta ruta suele ser un único . , haciendo que el comando resultante se parezca a docker build -t myimage:latest . . Todos los comandos ADD y COPY extraen archivos de ese contexto, en el ejemplo anterior, se usaría el directorio actual donde ejecutó el comando de docker build . Para el servidor y cada usuario que ejecuta los comandos de docker build de Docker, solo necesitan pasar el directorio de trabajo que tienen en su máquina local.

La única otra cosa que puede hacer para alterar el comportamiento de los comandos ADD y COPY es cambiar el WORKDIR que define la ruta relativa para los comandos dentro de su contenedor, pero no afecta dónde se extraen los archivos del contexto que envió con su comando de compilación.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda