Eu sou realmente um novato em Java e Docker, por isso, ir fácil sobre mim. Eu estou tentando construir duas microservices que se comunicam e executá-los no docker compose
, mas ele retorna este erro:
Não é possível acessar arquivo jar Olá-consumer-Microservice-mensagem-1.0-SNAPSHOT.jar.
Aqui está a minha dockerfile:
FROM alpine-jdk:base
WORKDIR ./files
EXPOSE 8081
CMD ["java", "-jar", "hello-consumer-microservice-message-1.0-SNAPSHOT.jar"]
Eu tentei alternando a CMD
com ENTRYPOINT
, mas não obtiveram sucesso, por isso, poderia alguém me ajuda?
PS: Se você tem qualquer bom lê sobre esses assuntos, você pode ligá-los nas respostas também, eu realmente quero melhorar minhas habilidades!
Você pode usar tanto COPY
ou ADD
para incluir arquivos em uma imagem - para mais detalhes ver: https://medium.freecodecamp.org/dockerfile-copy-vs-add-key-differences-and-best-practices-9570c4592e9e
No seu caso, você pode simplesmente adicionar a linha ADD hello-consumer-microservice-message-1.0-SNAPSHOT.jar app.jar
e depois mudar a sua CMD
a:
CMD ["java", "-jar", "app.jar"]
Eu ADD
ed o frasco com o nome app.jar
para melhor legibilidade.
Portanto, o seu último Dockerfile será parecido com este:
FROM alpine-jdk:base
WORKDIR ./files
EXPOSE 8081
ADD hello-consumer-microservice-message-1.0-SNAPSHOT.jar app.jar
CMD ["java", "-jar", "app.jar"]