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

341
Views
¿Cómo copiar el contenido de la carpeta a/aplicación a través de dockerfile?

Tenemos una carpeta para toda la solución que contiene configuraciones compartidas que necesita cada proyecto.

Estoy tratando de copiar el contenido de esa carpeta a la carpeta /app pero no funciona

Esto es parte de la configuración de mi dockerfile:

 FROM mcr.microsoft.com/dotnet/core/sdk:3.1-alpine3.12 AS build ### this is where I'm trying to copy the contents of Shared Settings to /app WORKDIR '/src/Shared Settings' COPY '/src/Shared Settings' /app ### this is part of the rest of the docker file, which works fine WORKDIR /src COPY . . WORKDIR /src/OurProject.Server RUN dotnet restore OurProject.Server.csproj RUN dotnet build OurProject.Server.csproj -c Release -o /app

¿Qué debo cambiar para que el contenido de la configuración compartida se copie en la carpeta /app en mi contenedor docker?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

La documentación de Dockerfile para la directiva COPY señala que tiene dos formas, una forma separada por espacios y una forma de matriz JSON, y señala

Este último formulario [matriz JSON] es necesario para las rutas que contienen espacios en blanco.

Entonces, aplicando eso a su ruta específica, obtendría

 COPY ["src/Shared Settings", "/app"]

Esto es ampliamente cierto en un Dockerfile en general: la única cita en la sintaxis nativa de Dockerfile es escribir cosas en una matriz JSON. No se documenta que envolver un WORKDIR o COPY entre comillas simples tenga un efecto. Un RUN o CMD en forma de cadena es una aparente excepción a esto, pero solo porque estos comandos se ejecutan a través de un shell y allí se aplican las reglas de cotización del shell.

over 4 years ago · Santiago Trujillo Report

0

El comando COPY '/src/Shared Settings' /app fallaría porque está diseñado para copiar desde el contexto de compilación (carpeta que contiene su Dockerfile). Sin embargo, la ruta '/src/Shared Settings' sugiere que está construyendo desde el directorio raíz de su host. Si ese directorio src no está en la raíz / , sino que existe dentro de una carpeta diferente (por ejemplo /path/to/your/folder_containing_src_and_Dockerfile/src ), debe cambiar la instrucción en su Dockerfile a:

 COPY 'src/Shared Settings' /app

Esto elimina el / principal que causa confusión en la ruta de su comando.

EDITAR: si está construyendo desde el directorio src, simplemente use las siguientes instrucciones en su Dockerfile:

 COPY 'Shared Settings' /app
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!