도커 설정 추가

This commit is contained in:
2026-04-08 10:03:48 +09:00
parent 1fb7e8df42
commit 94eb9327d1
3 changed files with 30 additions and 10 deletions

1
web-app/.gitignore vendored
View File

@@ -1,5 +1,6 @@
# Dependencies # Dependencies
node_modules node_modules
.pnpm-store
# Build outputs # Build outputs
build/ build/

View File

@@ -1,22 +1,26 @@
FROM node:20-alpine AS development-dependencies-env FROM node:24-alpine AS development-dependencies-env
RUN npm install -g corepack && corepack enable
COPY . /app COPY . /app
WORKDIR /app WORKDIR /app
RUN npm ci RUN pnpm install --frozen-lockfile
FROM node:20-alpine AS production-dependencies-env FROM node:24-alpine AS production-dependencies-env
COPY ./package.json package-lock.json /app/ RUN npm install -g corepack && corepack enable
COPY ./package.json pnpm-lock.yaml /app/
WORKDIR /app WORKDIR /app
RUN npm ci --omit=dev RUN pnpm install --frozen-lockfile --prod
FROM node:20-alpine AS build-env FROM node:24-alpine AS build-env
RUN npm install -g corepack && corepack enable
COPY . /app/ COPY . /app/
COPY --from=development-dependencies-env /app/node_modules /app/node_modules COPY --from=development-dependencies-env /app/node_modules /app/node_modules
WORKDIR /app WORKDIR /app
RUN npm run build RUN pnpm run build
FROM node:20-alpine FROM node:24-alpine
COPY ./package.json package-lock.json /app/ RUN npm install -g corepack && corepack enable
COPY ./package.json pnpm-lock.yaml /app/
COPY --from=production-dependencies-env /app/node_modules /app/node_modules COPY --from=production-dependencies-env /app/node_modules /app/node_modules
COPY --from=build-env /app/build /app/build COPY --from=build-env /app/build /app/build
WORKDIR /app WORKDIR /app
CMD ["npm", "run", "start"] CMD ["pnpm", "run", "start"]

View File

@@ -0,0 +1,15 @@
services:
web:
image: node:24-alpine
working_dir: /app
volumes:
- .:/app
- node_modules:/app/node_modules
ports:
- "5173:5173"
command: sh -c "npm install -g corepack && corepack enable && pnpm install && pnpm run dev --host"
environment:
- NODE_ENV=development
volumes:
node_modules: