Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

163
Views
docker COPIA con archivo globbing

Dentro del dockerfile, quiero especificar una operación de copia para los archivos que están definidos por globbing y también quiero que se copie con la ruta. Entonces, algo como esto:

 COPY ./src/**/project.json /app/**/

Teniendo en cuenta que tengo la siguiente estructura:

 ./src/bar/project.json ./src/foo/project.json

El destino debería verse así:

 /app/bar/project.json /app/foo/project.json

pero aparentemente, esto no funciona y realmente no quiero especificar todas las operaciones COPY por separado si tengo la oportunidad. ¿Alguna idea de cómo se hace esto?

Tenga en cuenta que básicamente no puedo ignorar otros archivos a través de .dockerignore como se sugiere , ya que voy a copiar los otros archivos de la misma carpeta después de arruinar la operación de instalación de un paquete. Entonces, el dockerfile es similar a esto:

 FROM microsoft/aspnet:1.0.0-rc1-update1 COPY ./src/**/project.json /app/**/ WORKDIR /app/ModernShopping.Auth RUN ["dnu", "restore"] ADD ./src /app EXPOSE 44300 ENTRYPOINT ["dnx", "web"]
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Para cualquier operación de compilación no estándar, prefiero envolver el comando de docker build en un script (llamado ' build ').
Aquí lo haría

  • cree una subcarpeta tmp (justo al lado del Dockerfile , para mantenerlo en el contexto de docker build )
  • hacer el shell cp con globing: cp ./src/**/project.json tmp
  • llame a docker build , con un Dockerfile incluya COPY tmp/ /app/
  • eliminando tmp .

De esa manera, preconfiguro lo que necesito del host, antes de construir la imagen desde el contexto del host.

over 4 years ago · Santiago Trujillo Report

0

Solución alterna

Dockerfile :

 COPY src/ /app/

.dockerignore :

 ** !**/project.json
over 4 years ago · Santiago Trujillo Report

0

Un poco tarde, pero con la construcción de varias etapas, puede obtener este comportamiento. Aquí lo hago para una gran construcción experta

 FROM maven:3.6-slim as staging WORKDIR /src/ COPY . . RUN mkdir /poms/ \ && find ./ -type d -exec mkdir -p '/poms/{}' \; \ && find ./ -name pom.xml -exec cp -r '{}' '/poms/{}' \; FROM maven:3.6-slim as builder WORKDIR /src/ COPY --from=staging /poms/* ./ RUN mvn dependency:go-offline

Un poco de truco, pero dado que es una etapa múltiple, la primera etapa simplemente se tira y la copia es una operación barata.

over 4 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 Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!