[#13] feat: docker를 활용한 app과 nginx proxy 연결 기본 설정
- app-server는 docker-compose 활용한 build - nginx, mysql db는 따로 docker container 구성 - 같은 docker network로 통합
This commit is contained in:
10
Dockerfile
10
Dockerfile
@@ -1,4 +1,4 @@
|
||||
FROM adoptopenjdk/openjdk11:latest as BUILD_IMAGE
|
||||
FROM openjdk:17-alpine as BUILD_IMAGE
|
||||
|
||||
ENV WORK_DIR=/usr/app/
|
||||
|
||||
@@ -18,17 +18,15 @@ COPY src src
|
||||
# jar 파일 build
|
||||
RUN ./gradlew bootjar
|
||||
|
||||
FROM adoptopenjdk/openjdk11:latest
|
||||
FROM openjdk:17-alpine
|
||||
|
||||
ENV WORK_DIR=/usr/app/
|
||||
|
||||
WORKDIR $WORK_DIR
|
||||
|
||||
COPY --from=BUILD_IMAGE $WORK_DIR/build/libs/*.jar tripleapp.jar
|
||||
COPY --from=BUILD_IMAGE $WORK_DIR/build/libs/*.jar dongne-api.jar
|
||||
|
||||
ENTRYPOINT ["java", \
|
||||
"-jar", \
|
||||
"-Dspring.profiles.active=${PROFILE_OPTION}", \
|
||||
"-Dspring.datasource.url=${SPRING_DATASOURCE_URL}", \
|
||||
"-Dredis.host=${REDIS_HOST}", \
|
||||
"tripleapp.jar"]
|
||||
"dongne-api.jar"]
|
||||
@@ -1,15 +1,14 @@
|
||||
version: "3.9"
|
||||
services:
|
||||
nginx:
|
||||
image: nginx
|
||||
container_name: nginx
|
||||
ports:
|
||||
- "80:80"
|
||||
volumes:
|
||||
- ./nginx/:/etc/nginx/conf.d/
|
||||
app-server:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "8080:8080"
|
||||
env_file:
|
||||
- env/app.env
|
||||
networks:
|
||||
default:
|
||||
external:
|
||||
name: api-net
|
||||
1
env/app.env
vendored
Normal file
1
env/app.env
vendored
Normal file
@@ -0,0 +1 @@
|
||||
PROFILE_OPTION=docker
|
||||
5
nginx/app.conf
Normal file
5
nginx/app.conf
Normal file
@@ -0,0 +1,5 @@
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
}
|
||||
6
src/main/resources/application-docker.yml
Normal file
6
src/main/resources/application-docker.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
# local 내 docker 테스트용도
|
||||
spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://beanie-test-db:3306/dongne?autoreconnect=true&characterEncoding=utf8&serverTimezone=Asia/Seoul
|
||||
username: root
|
||||
password: beaniejoy # TODO 추후 보안에 대해 생각해보기
|
||||
5
src/main/resources/application-local.yml
Normal file
5
src/main/resources/application-local.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://localhost:3306/dongne?autoreconnect=true&characterEncoding=utf8&serverTimezone=Asia/Seoul
|
||||
username: root
|
||||
password: beaniejoy # TODO 추후 보안에 대해 생각해보기
|
||||
@@ -1,8 +1,7 @@
|
||||
spring:
|
||||
profiles:
|
||||
active: local
|
||||
datasource:
|
||||
url: jdbc:mysql://localhost:3306/dongne?autoreconnect=true&characterEncoding=utf8&serverTimezone=Asia/Seoul
|
||||
username: root
|
||||
password: beaniejoy # TODO 추후 보안에 대해 생각해보기
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
jpa:
|
||||
hibernate:
|
||||
@@ -20,4 +19,4 @@ spring:
|
||||
logging:
|
||||
level:
|
||||
org.hibernate.SQL: debug # logger 통해 로깅
|
||||
# org.hibernate.type: trace
|
||||
# org.hibernate.type: trace
|
||||
Reference in New Issue
Block a user