1
resposta

Error: Unable to access jarfile /app.jar

Alguém consegue me ajudar com esse meu arquivo do docker-compose.yaml? Ele builda o Redis de boas mas da erro no service motor: Error: Unable to access jarfile /app.jar Segue os arquivos...

version: '3.8'
services:
    redis:
        image: redis:6.2.6-alpine
        container_name: Redis
        networks:
          - network
        ports:
          - 6379:6379
        volumes:
          - projeto_volume
        restart: always

    motor:    
        build:
          dockerfile: .\motor\Dockerfile
          context: .
        image: projeto/motor
        container_name: motor
        ports: 
          - 8080:8080
        depends_on: 
          - "redis" 
        networks:
          - network
        restart: always

networks:
    network:
      driver: bridge

volumes:
    projeto_volume:
      name: "projeto_data" 
      ##external: true

Aqui o Dockerfile pra gerar a imagem:

FROM openjdk:8-jdk-alpine
WORKDIR /app
COPY target\*.jar. /app/app.jar 
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app/app.jar"]
1 resposta

Oi Saulo, tudo bem?

Desculpe a demora em retornar.

Parece que você está enfrentando um problema ao acessar o arquivo jar no serviço "motor" do seu arquivo docker-compose.yaml. O erro "Error: Unable to access jarfile /app.jar" geralmente ocorre quando o caminho para o arquivo jar está incorreto.

No seu Dockerfile, você está copiando o arquivo jar para o diretório "/app" dentro do contêiner. No entanto, no arquivo docker-compose.yaml, você está referenciando o caminho "/app.jar" para o arquivo jar.

Para corrigir esse problema, você pode atualizar o caminho do arquivo jar no Dockerfile para corresponder ao caminho que você está usando no docker-compose.yaml. Por exemplo, se você estiver copiando o arquivo jar para o diretório "/app" dentro do contêiner, o caminho correto seria "/app/app.jar".

Aqui está o Dockerfile atualizado:

FROM openjdk:8-jdk-alpine
WORKDIR /app
COPY target\*.jar. /app/app.jar 
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app/app.jar"]

Depois de fazer essa alteração, tente construir novamente sua imagem Docker e executar o docker-compose. Isso deve resolver o problema de acesso ao arquivo jar.

Espero ter ajudado.

Um abraço e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software