Toán tin vuotlen.com

Cách Dockerfile dự án backend java

Server ( nơi để source code):

vi Dockerfile

## build stage ##

Google gõ: maven docker image with java 8 alpine

//

FROM maven:3.5.3-jdk-8-alpine as build

WORKDIR /app

COPY ..

RUN mvn install –DskipTests=true

## run stage ##

//Google gõ: java docker image version 8

//Tìm với aws hub, tags

FROM amazoncorretto:8u402-alpine-jre

WORKDIR /run

COPY --from=build /app/target/shoe-ShoppingCart-0.0.1-SNAPSHOT.jar /run/shoe-ShoppingCart-0.0.1-SNAPSHOT.jar

EXPOSE 8080

ENTRYPOINT java –jar /run/shoe-ShoppingCart-0.0.1-SNAPSHOT.jar

//

docker build –t shoeshop:v1

docker images // sẽ có images vừa build

docker run --name shoeshop –dp 8888:8080 shoeshop:v1

docker ps –a

vào chromr gõ: ip:8888 sẽ ra trang shoeshop

// tự tạo image riêng từ alpine

cp Dockerfile Dockerfile-v2

Google gõ: alpine docker image

//

FROM maven:3.5.3-jdk-8-alpine as build

WORKDIR /app

COPY ..

RUN mvn install –DskipTests=true

## run stage ##

FROM alpine:3.19

RUN apk add openjdk8 // như api install apk8

WORKDIR /run

COPY --from=build /app/target/shoe-ShoppingCart-0.0.1-SNAPSHOT.jar /run/shoe-ShoppingCart-0.0.1-SNAPSHOT.jar

EXPOSE 8080

ENTRYPOINT java –jar /run/shoe-ShoppingCart-0.0.1-SNAPSHOT.jar

//

docker build –t shoeshop:v2 –f Dockerfile-v2 .

docker run --name shoeshop-v2 –dp 9999:8080 shoeshop:v2

docker ps –a

docker images

vào chromr gõ: ip:9999 sẽ ra trang shoeshop

nâng cấp dockerfile với chạy user khác

cp Dockerfile-v2 Dockerfile-v3

//

FROM maven:3.5.3-jdk-8-alpine as build

WORKDIR /app

COPY ..

RUN mvn install –DskipTests=true

## run stage ##

FROM alpine:3.19

RUN adduser –D shoeshop

RUN apk add openjdk8 // như api install apk8

WORKDIR /run

COPY --from=build /app/target/shoe-ShoppingCart-0.0.1-SNAPSHOT.jar /run/shoe-ShoppingCart-0.0.1-SNAPSHOT.jar

RUN chown –R shoeshop:shoeshop /run

USER shoeshop

EXPOSE 8080

ENTRYPOINT java –jar /run/shoe-ShoppingCart-0.0.1-SNAPSHOT.jar

//

docker build –t shoeshop:v3 –f Dockerfile-v3 .

docker images

docker run --name shoeshop-v3 –dp 7777:8080 shoeshop:v3

docker ps –a

docker logs shoeshop-v3

vào chromr gõ: ip:7777 sẽ ra trang shoeshop và sẽ có hiện logs

docker exec –it shoeshop-v3 sh // user -v3 này là shoeshop

ls –l

ps –ef|grep shoe

cat Dockerfile-v3