Home > Back-end >  Containerizing a Spring boot application with Docker error
Containerizing a Spring boot application with Docker error

Time:10-08

I am trying to containerize my Spring application with Docker. However, Docker cannot find my jar file. My Dockerfile:

FROM adoptopenjdk:16-jre-hotspot
RUN mkdir -p /app
WORKDIR /app
ARG JAR_FILE=*.jar
COPY ${JAR_FILE} rtv-1.jar /app
ENTRYPOINT ["java", "-jar", "/rtv-1.jar"]

My docker-compose.yml

version: '2'

services:
  app:
    image: 'docker-spring-boot-postgres:latest'
    build:
      context: .
    container_name: app
    depends_on:
      - db
    environment:
      - SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/compose-postgres
      - SPRING_DATASOURCE_USERNAME=compose-postgres
      - SPRING_DATASOURCE_PASSWORD=compose-postgres
      - SPRING_JPA_HIBERNATE_DDL_AUTO=update
    volumes:
      - absolutepathtothedircontaining "rtv-1":/app
  db:
    image: 'postgres:13.1-alpine'
    container_name: db
    environment:
      - POSTGRES_USER=compose-postgres
      - POSTGRES_PASSWORD=compose-postgres

When I run docker-compose up I am still having the same error.

Any idea what is causing this issue?

Many thanks in advance

CodePudding user response:

Please make sure, rtv-1.jar file and Dockerfile file are in the same folder.

Just copy rtv-1.jar file to /app folder.

COPY rtv-1.jar /app

its a wrong path:

Change it : ENTRYPOINT ["java", "-jar", "/rtv-1.jar"]

To : ENTRYPOINT ["java", "-jar", "rtv-1.jar"]

Or : ENTRYPOINT ["java", "-jar", "/app/rtv-1.jar"]

CodePudding user response:

Yo can try this:

FROM adoptopenjdk:16-jre-hotspot
ARG JAR_FILE=*.jar
RUN mkdir -p /app
WORKDIR /app
COPY ${JAR_FILE} rtv-1.jar
ENTRYPOINT ["java", "-jar", "/rtv-1.jar"]
  • Related