Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

641
Visualizações
Cómo navegar hacia arriba una carpeta en un dockerfile

Tengo algunos problemas para crear una imagen acoplable debido a la forma en que se ha estructurado el código. El código está escrito en C#, y en una solución hay muchos proyectos que "soportan" la aplicación que quiero construir.

Mi problema es que si coloco el dockerfile en la raíz, puedo compilarlo sin ningún problema, y está bien, pero no creo que sea la forma óptima, porque tenemos algunos otros dockerfiles que también necesitamos compilar y si los pongo todo en la carpeta raíz, creo que terminará desordenado.

Entonces, si coloco el dockerfile en la carpeta con la aplicación, ¿cómo navego a la carpeta raíz para tomar las carpetas que necesito?

Probé con "../" pero desde mi punto de vista no parecía funcionar. ¿Hay alguna forma de hacerlo o cuál es la mejor práctica en este escenario?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

TL;DR

ejecutarlo desde el directorio raíz:

docker build . -f ./path/to/dockerfile


la respuesta larga:

en dockerfile realmente no puedes subir.

por qué

cuando el demonio docker está construyendo su imagen, usa 2 parámetros:

  • su Dockerfile
  • el contexto

el contexto es a lo que te refieres como . en el archivo acoplable. (por ejemplo, como COPY . /app ) ambos afectan la imagen final: el dockerfile determina lo que sucederá. el contexto le dice a la ventana acoplable en qué archivos debe realizar las operaciones que ha especificado en ese archivo acoplable.

así es como lo dicen los documentos:

El contexto de una compilación es el conjunto de archivos ubicados en la RUTA o URL especificada. El proceso de compilación puede hacer referencia a cualquiera de los archivos en el contexto. Por ejemplo, su compilación puede usar una instrucción COPY para hacer referencia a un archivo en el contexto.

por lo tanto, generalmente el contexto es el directorio donde se coloca el Dockerfile. Mi sugerencia es dejarlo donde pertenece. nombre sus dockerfiles según su función ( Dockerfile.dev , Dockerfile.prod , etc.), está bien tener algunos de ellos en el mismo directorio.

el contexto todavía se puede cambiar:

después de todo, tú eres el que especifica el contexto. ya que el comando docker build acepta el contexto y la ruta del archivo docker. cuando ejecuto:

docker build .

de hecho, le estoy dando el contexto de mi directorio actual (he omitido la ruta del archivo docker, por lo que el valor predeterminado es PATH/Dockerfile )

entonces, si tiene un dockerfile en dockerfiles/Dockerfile.dev , debe ubicarse en el directorio que desea como contexto y ejecutar:

docker build . -f dockerfiles/Dockerfile.dev

lo mismo se aplica a la sección de compilación docker-compose (usted especifica allí un contexto y la ruta del archivo docker)

Espero que haya tenido sentido.

over 4 years ago · Santiago Trujillo Relatório

0

Puede usar el comando EJECUTAR y después y hacer lo que quiera.

 RUN cd ../ &
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda