본문 바로가기

기록하기

Day + 26


  • 레벨 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