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

233
Visualizações
Usando el comando EJECUTAR en Dockerfile en Windows y Linux

En mi Dockerfile tengo

 FROM microsoft/dotnet:2.1-sdk COPY devops/scripts/setup.sh . RUN ls RUN chmod +x ./setup.sh RUN ./setup.sh WORKDIR /app

Paso 3 que estoy usando solo para mostrar que el archivo está realmente presente.

Cuando se usa en docker-compose, esto funciona perfectamente en Linux , pero cuando se ejecuta docker-compose up en Windows , da como resultado

 > docker-compose up Building create_template Step 1/6 : FROM microsoft/dotnet:2.1-sdk ---> 511c1f563ce6 Step 2/6 : COPY devops/scripts/setup.sh . ---> 3d3bb4ab9bc4 Step 3/6 : RUN ls ---> Running in 43ad6e244ed8 bin boot dev etc home lib lib64 media mnt opt proc root run sbin setup.sh <--- srv sys tmp usr var Removing intermediate container 43ad6e244ed8 ---> aa32210d6a87 Step 4/6 : RUN chmod +x ./setup.sh ---> Running in 2d6858495355 Removing intermediate container 2d6858495355 ---> 5e0388623851 Step 5/6 : RUN ./setup.sh ---> Running in abb3a52fe6ec /bin/sh: 1: ./setup.sh: not found ERROR: Service 'create_template' failed to build: The command '/bin/sh -c ./setup.sh' returned a non-zero code: 127

¿Hay alguna manera de usar los mismos archivos y comandos de dockerimage en ambos sistemas o tengo que tener dockerimage y docker-compose alternativos para cada uno? Gracias

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

0

Probé tu ejemplo en Windows y reproduje tu problema.

La causa principal es cuando se actualiza el archivo setup.sh en Windows, tiene DOS format . Debe usar git-bash u otro similar para transferir el formato de archivo en el host al unix format por adelantado antes de componer o compilar, algo como:

 dos2unix setup.sh

Otra forma es hacerlo en Dockerfile , y esto también es compatible cuando usa el host de Linux, algo como lo siguiente:

 RUN apt-get update && apt-get install -y dos2unix && dos2unix setup.sh RUN ./setup.sh
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