- 레벨 5과제까지 모두 끝내고 배포를 연습하기위해 학습한 내용 남기기
- 레벨 5과제를 배포의 용도로 사용하고싶었으나 실패.. 그래서 레벨1과제를 리팩토링하는겸 1과제로 배포연습하기
- Docker 이용 컨테이너라이징 하기
- 인텔리제이에서 실행한 스프링부트 애플리케이션 종료하고 진행하기
- h2 데이터 베이스 기준 -> Mysql 사용중이지만 참고하기 위해 정리해서 기록함
// application.properties
spring.h2.console.settings.web-allow-others=true
# Dockerfile
FROM amazoncorretto:17
WORKDIR /app
COPY ./build/libs/review-0.0.1-SNAPSHOT.jar /app/review.jar
COPY ./entry-point.sh /app/entry-point.sh
RUN chmod +x /app/entry-point.sh
ENTRYPOINT ["./entry-point.sh"]
# entry-point.sh
#!/bin/bash
java -jar /app/review.jar
# docker-compose.yml
version: "3.8"
services:
review-api:
build:
context: .
dockerfile: Dockerfile
ports:
- 8080:8080
# Docker Contianer Image 빌드하기
$ docker build -t review-api ./
# Docker Container 실행하기
$ docker run -it -p 8080:8080 review-api
# Docker Compose 실행하기
$ docker-compose up --build
- AWS 배포하기
# git, docker, jdk 설치
$ sudo yum install -y git docker java-17-amazon-corretto
# docker-compose 설치
$ sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
# 도커 실행
$ sudo systemctl start docker
# git clone
$ git clone 레포지토리
# 자바 애플리케이션 빌드
$ ./gradlew bootJar
# 서버 실행
$ sudo docker-compose up --build
# 서버 백그라운드 실행
$ sudo docker-compose up -d --build
- 하면서 내용 수정 예정
'기록하기' 카테고리의 다른 글
Docker compose + Springboot + Mysql 연동하기(2) (0) | 2023.11.11 |
---|---|
Springboot + Mysql + Docker 연동하기 1 (0) | 2023.11.10 |
나를 위한 swagger 사용법2 (0) | 2023.11.10 |
Day + 23 (0) | 2023.11.07 |
나를 위한 swagger 사용법 (0) | 2023.11.07 |