• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

132
Views
¿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 ).

about 3 years ago · Santiago Trujillo
1 answers
Answer question

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.

about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error