기존 이미지
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
grafana/grafana:latest 70d9599b186c 993MB 210MB U
grafana/loki:latest 92bd5700577b 177MB 41.5MB U
grafana/promtail:latest 8dcfdf466da0 280MB 66.4MB U
kokomen-client-client:latest ec3efc978bcb 3.86GB 833MB U
kokomen-client-kokomen-nest-server-dev:latest ebc91b85f091 3.02GB 698MB U
nginx:latest 553f64aecdc3 225MB 59.8MB U
prom/node-exporter:latest 3ac34ce007ac 41.6MB 13.1MB U
prom/prometheus:latest 49214755b615 507MB 134MB U
samhap/kokomen-interview-api:dev eadc9118503d 917MB 316MB U
samhap/kokomen-payment-api:dev 69617da98410 834MB 276MB U
samhap/kokomen-payment-internal:dev f508a659b11f 839MB 279MB U
valkey/valkey:8.0.1 c5d4f082b76d 200MB 50.5MB U
기존 Dockerfile
FROM node:22-alpine AS builder
ENV NODE_ENV=production
WORKDIR /app
RUN corepack enable
COPY . .
ARG NEXT_PUBLIC_BASE_URL
ARG NEXT_PUBLIC_API_BASE_URL
ARG NEXT_PUBLIC_POSTHOG_KEY
ARG NEXT_PUBLIC_POSTHOG_HOST
ARG SENTRY_AUTH_TOKEN
ARG NEXT_PUBLIC_GOOGLE_CLIENT_ID
ARG NEXT_PUBLIC_CDN_BASE_URL
ARG NEXT_PUBLIC_V2_API_BASE_URL
ARG NEXT_PUBLIC_V3_API_BASE_URL
ARG NEXT_PUBLIC_GRAPHQL_URL
ARG NEXT_PUBLIC_NOTIFICATION_API_BASE_URL
ENV NEXT_PUBLIC_V2_API_BASE_URL=$NEXT_PUBLIC_V2_API_BASE_URL
ENV NEXT_PUBLIC_V3_API_BASE_URL=$NEXT_PUBLIC_V3_API_BASE_URL
ENV NEXT_PUBLIC_GRAPHQL_URL=$NEXT_PUBLIC_GRAPHQL_URL
ENV NEXT_PUBLIC_BASE_URL=$NEXT_PUBLIC_BASE_URL
ENV NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL
ENV NEXT_PUBLIC_POSTHOG_KEY=$NEXT_PUBLIC_POSTHOG_KEY
ENV NEXT_PUBLIC_POSTHOG_HOST=$NEXT_PUBLIC_POSTHOG_HOST
ENV NEXT_PUBLIC_NOTIFICATION_API_BASE_URL=$NEXT_PUBLIC_NOTIFICATION_API_BASE_URL
ENV SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN
ENV NEXT_PUBLIC_CDN_BASE_URL=$NEXT_PUBLIC_CDN_BASE_URL
ENV NEXT_PUBLIC_GOOGLE_CLIENT_ID=$NEXT_PUBLIC_GOOGLE_CLIENT_ID
RUN yarn install
WORKDIR /app/apps/client
RUN yarn types:build
RUN NODE_OPTIONS="--max-old-space-size=4096" yarn build
RUN yarn sitemap
WORKDIR /app
CMD ["yarn", "client:prod"]