diff --git a/Dockerfile b/Dockerfile index b48c63a..6697449 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,7 @@ COPY build.gradle $WORK_DIR COPY settings.gradle $WORK_DIR COPY gradle $WORK_DIR/gradle -RUN ./gradlew -x test build || return 0 +RUN ./gradlew test build || return 0 COPY src src diff --git a/docker-compose.yml b/docker-compose.yml index a672861..dd99441 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,15 @@ version: "3.9" services: - app-server: + nginx: + image: nginx + ports: + - "80:80" + volumes: + - "./nginx/nginx.conf:/etc/nginx/nginx.conf" + - "./nginx/config/:/etc/nginx/conf.d/" + depends_on: + - dongne-api + dongne-api: build: context: . dockerfile: Dockerfile @@ -8,7 +17,9 @@ services: - "8080:8080" env_file: - env/app.env + +# docker 환경에서 local db 활용하기 위한 설정 networks: default: external: - name: api-net \ No newline at end of file + name: api-net diff --git a/nginx/app.conf b/nginx/app.conf deleted file mode 100644 index 172e262..0000000 --- a/nginx/app.conf +++ /dev/null @@ -1,5 +0,0 @@ -server { - listen 80; - listen [::]:80; - -} \ No newline at end of file diff --git a/nginx/config/app.conf b/nginx/config/app.conf new file mode 100644 index 0000000..88122b1 --- /dev/null +++ b/nginx/config/app.conf @@ -0,0 +1,41 @@ +server { + listen 80; + server_name localhost; + + #access_log /var/log/nginx/host.access.log main; + + location / { + proxy_pass http://dongne-api:8080; + proxy_http_version 1.1; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + #client_max_body_size 256M; + #client_body_buffer_size 1m; + + #proxy_buffering on; + #proxy_buffers 256 16k; + #proxy_buffer_size 128k; + #proxy_busy_buffers_size 256k; + + #proxy_temp_file_write_size 256k; + #proxy_max_temp_file_size 1024m; + + #proxy_connect_timeout 300; + #proxy_send_timeout 300; + #proxy_read_timeout 300; + #proxy_intercept_errors on; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + #error_page 500 502 503 504 /50x.html; + #location = /50x.html { + # root /usr/share/nginx/html; + #} +} diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 0000000..d8becfc --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,35 @@ + +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + #server_names hash_bucke + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + #tcp_nodelay on; + + keepalive_timeout 65; + #types_hash_max_size 2048; + + #gzip on; + + include /etc/nginx/conf.d/*.conf; + #include /etc/nginx/sites-enabled/*; +} \ No newline at end of file diff --git a/src/main/resources/application-docker.yml b/src/main/resources/application-docker.yml index 329a30d..b3402cd 100644 --- a/src/main/resources/application-docker.yml +++ b/src/main/resources/application-docker.yml @@ -1,6 +1,6 @@ -# local 내 docker 테스트용도 +# local docker 환경 내 local db 활용 spring: datasource: url: jdbc:mysql://beanie-test-db:3306/dongne?autoreconnect=true&characterEncoding=utf8&serverTimezone=Asia/Seoul username: root - password: beaniejoy # TODO 추후 보안에 대해 생각해보기 + password: beaniejoy # TODO 추후 보안에 대해 생각해보기 \ No newline at end of file