[리팩토링] 3일차

sua_ahn·2023년 6월 1일
0

리팩토링

목록 보기
3/6

EC2에 Docker compose로 배포

빌드한 jar파일도 git에 포함하여 올리고
application.properties를 외부에서 생성해 넣기로 결정.
https://stackoverflow.com/questions/46315744/using-external-config-in-spring-boot-application-within-docker-compose

Dockerfile

FROM eclipse-temurin:17-jdk-alpine
VOLUME /tmp
COPY target/*.jar app.jar
ENTRYPOINT [ "sh", "-c", "java -jar /app.jar cd]

docker-compose.yml

version: "3.8"

services:
  db-mysql:
    container_name: db-mysql
    image: mysql:8.0.29
    environment:
      MYSQL_DATABASE: healthygym
      MYSQL_USER: user
      MYSQL_PASSWORD: '0000'
      MYSQL_ROOT_PASSWORD: '0000'
    restart: always
    ports:
      - 3306:3306
    volumes:
      - ./db/conf.d:/etc/mysql/conf.d
      - ./db/init:/docker-entrypoint-initdb.d
    networks:
      - springboot-mysql-net

  backend:
    container_name: backend
    build: .
    restart: always
    image: suaahn/gym-backend:0.1
    volumes:
      - ./config:/config
    environment:
      CONFIG_LOCATION: file:./config/application.properties
      MYSQL_HOST: db-mysql
      SPRING_DATASOURCE_URL: jdbc:mysql://db-mysql:3306/healthygym?useSSL=false&allowPublicKeyRetrieval=true&serverTimeZone=Asia/Seoul
      SPRING_DATASOURCE_USERNAME: user
      SPRING_DATASOURCE_PASSWORD: '0000'
    ports:
      - 8080:8080
    depends_on:
      - db-mysql
    networks:
      - springboot-mysql-net

networks:
  springboot-mysql-net:
    driver: bridge

EC2 인스턴스 인바운드 규칙 수정

sudo docker compose up


드디어 배포됐다ㅜ
내일은 백그라운드에서도 배포해보고, db config 관련해서 더 알아봐야겠다.

profile
해보자구

0개의 댓글