4
respostas

DockerFile -> [/bin/sh -c gradlew build]: exit code: 127

Ao tentar executar o dockerfile ele da o seguinte erro

[+] Building 0.5s (7/8)
 => [internal] load build definition from Dockerfile                                                                                                         0.2s
 => => transferring dockerfile: 370B                                                                                                                         0.0s
 => [internal] load .dockerignore                                                                                                                            0.2s
 => => transferring context: 2B                                                                                                                              0.0s
 => [internal] load metadata for docker.io/adoptopenjdk/openjdk11:alpine                                                                                     0.0s
 => [1/4] FROM docker.io/adoptopenjdk/openjdk11:alpine                                                                                                       0.0s
 => [internal] load build context                                                                                                                            0.0s
 => => transferring context: 106B                                                                                                                            0.0s
 => CACHED [2/4] WORKDIR /opt/app                                                                                                                            0.0s
 => ERROR [3/4] RUN gradlew clean                                                                                                                            0.3s
------
 > [3/4] RUN gradlew clean:
#5 0.232 /bin/sh: gradlew: not found
------
executor failed running [/bin/sh -c gradlew clean]: exit code: 127

------

Segue o meu arquivo dockerFile

FROM adoptopenjdk/openjdk11:alpine
MAINTAINER niltonjr
WORKDIR /opt/app

RUN gradlew clean

EXPOSE 8080
ARG JAR_FILE=build/libs/demo-0.1-all.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]

Estou utilizando o windows

4 respostas

Olá, Nilton. Tudo bem?

Você pegou esse dockerfile de algum curso específico?

Fico aguardando.

Não

Tentei montar lendo artigos sobre e pelo que vi no curso, mas utilizando o gradle (java) ao invés do nginx.

Se eu rodar com esses comando ele irá funcionar mas a ideia era deixar tudo no dockerfile

docker build . -t teste
docker run --name testeJava -p 8080:8080 teste

Oi, Nilton.

Isso é estranho, pois o erro que deu foi por não achar o comando gradlew, e o erro foi na fase de build. Pelo que pesquisei essa imagem que você está usando não possui o gradle. Você deve usar o gradle pra criar o JAR que será usado para fazer o build do container.

Você tem certeza que rodando o docker build antes funciona tudo corretamente? Talvez mesmo não aparecendo uma mensagem de erro, algo pode não funcionar.