Contoh Dockerfile Untuk Java 8 dengan Maven
Contoh jika jar sudah di-built
# build from complete compiled spring-boot jar FROM java:8 RUN mkdir /usr/src/namaProyek COPY namaProyek-0.0.1-SNAPSHOT.jar /usr/src/namaProyek WORKDIR /usr/src/namaProyek #RUN apt-get update -y RUN apt-get install -y tzdata ENV TZ Asia/Jakarta # standar parameter java. Jika mau memasukkan properties bisa juga di sini dengan -D ENV JAVA_OPTS="-Xms768m -Xmx1024m -XX:PermSize=768m -XX:MaxPermSize=768m" # standar argumen java. Di properties biasanya ditandai seperti ini: # nama.properties=${NILAI_CONFIG:nilaiDefault} ENV RUN_ARGS="--APP_NAME=namaProyek --APP_PORT=5005" ENV RUN_ARGS=$RUN_ARGS" --CONFIG_SERVER=http://192.168.1.12:9999 --EUREKA_SERVER=http://192.168.1.12:8003/eureka" ENV RUN_ARGS=$RUN_ARGS" --DB_URL=jdbc:db2://192.168.1.12:50001/namaDb --DB_USERNAME=db2inst1 --DB_PASSWORD=password --DB_SCHEMA=NAMA_PROYEK" #Ini cuma untuk debug saja #CMD echo $(ls -l -a /usr/src/namaProyek) #CMD echo $(java -version) #Jalankan Java CMD java $JAVA_OPTS -jar /usr/src/namaProyek/namaProyek-0.0.1-SNAPSHOT.jar $RUN_ARGS #Agar port bisa diakses oleh host. Sekedar catatan, tidak berfungsi jika network="host" EXPOSE 5005
Contoh jika jar belum di-built
# build from source code FROM maven:3.8-jdk-8 AS build RUN mkdir /usr/src/namaProyek WORKDIR /usr/src/namaProyek # salin pom.xml dan source code ke dalam container COPY pom.xml /usr/src/namaProyek/pom.xml COPY src /usr/src/namaProyek/src # sekedar debug, memastikan sudah tersalin ke container RUN echo $(ls -l -a /usr/src/namaProyek) #build RUN mvn -f /usr/src/MS_DigitalWealth/pom.xml clean package #build sudah selesai, saatnya masukkan hasil jar FROM java:8 COPY --from=build /usr/src/namaProyek/target/namaProyek-0.0.1-SNAPSHOT.jar /usr/src/namaProyek/target/namaProyek-0.0.1-SNAPSHOT.jar RUN echo "setelah build package" RUN echo $(ls -l -a /usr/src/namaProyek) ENV RUN_ARGS="--DB_URL=jdbc:db2://192.168.1.12:50000/namaDb --DB_USERNAME=db2inst1 --DB_PASSWORD=password" # Anda bisa pakai CMD seperti pada contoh sebelumnya atau pakai ENTRYPOINT # jika java tidak ditemukan, maka pakailah CMD. ENTRYPOINT /usr/src/namaProyek/target/namaProyek-0.0.1-SNAPSHOT.jar #Agar port bisa diakses oleh host. Sekedar catatan, tidak berfungsi jika network="host" EXPOSE 5005
0 comments:
Post a Comment