[#13] feat: docker compose로 로컬에서 nginx, app 연동
- docker profile을 통한 local docker test 구성 - nginx 설정 구성 - local db 활용을 위한 docker network 구성
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
name: api-net
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
}
|
||||
41
nginx/config/app.conf
Normal file
41
nginx/config/app.conf
Normal file
@@ -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;
|
||||
#}
|
||||
}
|
||||
35
nginx/nginx.conf
Normal file
35
nginx/nginx.conf
Normal file
@@ -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/*;
|
||||
}
|
||||
@@ -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 추후 보안에 대해 생각해보기
|
||||
Reference in New Issue
Block a user