빌드한 jar파일도 git에 포함하여 올리고
application.properties를 외부에서 생성해 넣기로 결정.
https://stackoverflow.com/questions/46315744/using-external-config-in-spring-boot-application-within-docker-compose
FROM eclipse-temurin:17-jdk-alpine
VOLUME /tmp
COPY target/*.jar app.jar
ENTRYPOINT [ "sh", "-c", "java -jar /app.jar cd]
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
드디어 배포됐다ㅜ
내일은 백그라운드에서도 배포해보고, db config 관련해서 더 알아봐야겠다.