일반 스프링부트 앱 도커라이즈
간단한 스프링부트 앱 생성 > 깃허브 푸시
yum install git -y => 깃 설치
yum install java-17-openjdk -y => java-17-openjdk 설치
yum install java-17-openjdk-devel -y
mkdir -p /docker_projects/hello_1/project => 파일 생성
cd /docker_projects/hello_1/project => 생성한 파일로 이동
git clone ~~~ . => 프로젝트 클론
chmod 744 gradlew => 실행 권한 설정
./gradlew clean build => 빌드
java -jar build/libs/app-0.0.1-SNAPSHOT.jar => 실행(종료할 때는 Ctrl+c)
vim Dockerfile => Dockerfile 생성
FROM openjdk:17-jdk-alpine
ARG JAR_FILE=build/libs/app-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
docker build -t hello . => 이미지 생성
docker run \
--name=hello_1 \
-p 8080:8080 \
-d \
hello
위와 같이 이미지 실행
크롬에서 192.168~:8080 접속해서 확인
DB 사용하는 스프링부트 앱 도커라이즈
스프링부트 앱 생성 > 깃허브 푸시
mkdir -p /docker_projects/db_1/project => 파일 생성
cd /docker_projects/db_1/project => 생성한 파일로 이동
git clone ~~~ . => 프로젝트 클론
chmod 744 gradlew
docker exec -it mariadb_1 mysql -u root -p
CREATE DATABASE app20220916_2__test;
exit
testDbId=아이디 testDbPw=비밀번호 ./gradlew clean build => 아이디, 비밀번호 설정 적용해서 빌드
docker exec -it mariadb_1 mysql -u root -p
CREATE DATABASE .... => 필요한 DATABASE, TABLE 등 생성
exit
vim Dockerfile => Dockerfile 생성
FROM openjdk:17-jdk-alpine
ARG JAR_FILE=build/libs/app-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","-Dspring.profiles.active=prod","/app.jar"]
docker build -t hellodb . => 이미지 생성
docker run \
--name=hellodb_1 \
-p 8081:8080 \
-d \
hellodb
위와 같이 이미지 실행
'프로젝트 & TIL > 일별 공부 기록 (백엔드 스쿨)' 카테고리의 다른 글
46일차 - 알고리즘(완전 탐색), LocalDateTime 연산 (0) | 2023.04.26 |
---|---|
45일차 - 알고리즘(탐욕법) (0) | 2023.04.25 |
43일차 - 도커 컴포즈 (0) | 2023.04.21 |
42일차 - ArrayList, HashMap 직접 구현 (0) | 2023.04.20 |
41일차 - 재귀 함수 (0) | 2023.04.19 |