- need to manually compile our application
mvn clean package -DskipTests
our file should be created:
target/demo-0.0.1-SNAPSHOT.jar
- create Dockerfile
FROM openjdk:11 RUN mkdir /demo COPY target/demo-0.0.1-SNAPSHOT.jar /demo/demo-0.0.1-SNAPSHOT.jar WORKDIR /demo ENTRYPOINT ["java", "-jar", "demo-0.0.1-SNAPSHOT.jar"]
- compile Dockerfile
docker build -t demo .
- run docker
docker run -d --name demo -p 8080:8080 demo
if need override custom port to passed SERVER_PORT
docker run -d -e SERVER_PORT=8081 -p 8081:8081 demo
- check in browser
http://localhost:8080
- connect to docker
docker container exec -ti demo /bin/bash
- create Dockerfile
FROM maven:3.8-jdk-11 AS build_step RUN mkdir /demo_build COPY . /demo_build WORKDIR /demo_build RUN mvn clean package -DskipTests FROM adoptopenjdk/openjdk11:jdk-11.0.11_9-alpine-slim RUN mkdir /demo COPY --from=build_step /demo_build/target/demo-0.0.1-SNAPSHOT.jar /demo WORKDIR /demo CMD ["java", "-jar", "demo-0.0.1-SNAPSHOT.jar"]
- compile Dockerfile
docker build -t demo .
- run docker
docker run -d --name demo -p 8080:8080 demo
- check in browser
http://localhost:8080
- need to manually compile our application
mvn clean package -DskipTests
our file should be created:
target/demo-0.0.1-SNAPSHOT.jar
- create Dockerfile
FROM openjdk:11 RUN mkdir /demo COPY target/demo-0.0.1-SNAPSHOT.jar /demo/demo-0.0.1-SNAPSHOT.jar WORKDIR /demo ENTRYPOINT ["java", "-jar", "demo-0.0.1-SNAPSHOT.jar"]
- compile Dockerfile
docker build -t demo .
- create dirs with permission write:
- db
- log
- Create docker-compose.yml
version: "3.1" services: mysql: container_name: mysql8 command: mysqld --default-authentication-plugin=mysql_native_password image: mysql:8 volumes: - ./db:/var/lib/mysql restart: always ports: - "3335:3306" environment: MYSQL_ROOT_PASSWORD: root networks: - landemo demo: container_name: demo image: demo volumes: - ./log:/demo/log ports: - "8086:8081" environment: SERVER_PORT: 8081 networks: - landemo networks: landemo: driver: bridge
- run
docker-compose up -d
- check existing mysql, connect:
mysql -uroot -h127.0.0.1 -P3335 -p
- check in browser
http://localhost:8086
- Create Dockerfile
FROM openjdk:11 RUN mkdir /demo COPY target/demo-0.0.1-SNAPSHOT.jar /demo/demo-0.0.1-SNAPSHOT.jar WORKDIR /demo ENTRYPOINT ["java", "-jar", "demo-0.0.1-SNAPSHOT.jar", "--spring.config.location=resources/application.properties"]
- Create docker-compose.yml
version: "3.1" services: demo: container_name: demo image: demo volumes: - ./log:/demo/log - ./resources:/demo/resources ports: - "8086:8081" environment: SERVER_PORT: 8081