forked from Clubber2024/Clubber-Server
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.nginx.dev
More file actions
42 lines (34 loc) · 1.19 KB
/
Copy pathDockerfile.nginx.dev
File metadata and controls
42 lines (34 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# 빌드 스테이지
FROM nginx:1.24.0 AS builder
# 필수 패키지 설치
RUN apt-get update && \
apt-get install -y --no-install-recommends \
wget \
curl \
build-essential \
libpcre3-dev \
zlib1g-dev \
libmaxminddb-dev \
git \
&& rm -rf /var/lib/apt/lists/*
# Nginx 소스 코드 다운로드
ARG NGINX_VERSION=1.24.0
WORKDIR /usr/src
RUN wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
tar -zxvf nginx-${NGINX_VERSION}.tar.gz && \
rm nginx-${NGINX_VERSION}.tar.gz
# GeoIP2 모듈 다운로드 및 빌드
RUN git clone https://github.com/leev/ngx_http_geoip2_module.git
WORKDIR /usr/src/nginx-${NGINX_VERSION}
RUN ./configure --with-compat --add-dynamic-module=../ngx_http_geoip2_module && \
make modules
# 최종 실행 스테이지
FROM nginx:1.24.0
# 실행 시 필요한 라이브러리만 유지
RUN apt-get update && apt-get install -y --no-install-recommends \
libmaxminddb0 \
&& rm -rf /var/lib/apt/lists/*
# GeoIP2 모듈 복사 (빌드한 파일만 포함)
COPY --from=builder /usr/src/nginx-${NGINX_VERSION}/objs/ngx_http_geoip2_module.so /usr/lib/nginx/modules/
# 불필요한 캐시 제거
RUN rm -rf /var/cache/apt/*