This commit is contained in:
alirehmani
2024-05-10 17:19:18 +05:00
parent b8a3e8ebc3
commit 7be362c022
2 changed files with 44 additions and 1 deletions

View File

@@ -1,4 +1,4 @@
{
"schemaVersion": 2,
"dockerfilePath": "./src/Managing.WebApp/Dockerfile"
"dockerfilePath": "./src/Managing.WebApp/Dockerfile-web-ui-dev"
}

View File

@@ -0,0 +1,43 @@
ARG NODE_VERSION=21.4.0
ARG ALPINE_VERSION=3.19.0
FROM node:${NODE_VERSION}-alpine AS node
FROM alpine:${ALPINE_VERSION} AS builder
COPY --from=node /usr/lib /usr/lib
COPY --from=node /usr/local/lib /usr/local/lib
COPY --from=node /usr/local/include /usr/local/include
COPY --from=node /usr/local/bin /usr/local/bin
RUN node -v
# Set the working directory in the container
WORKDIR /app
# Copy the package.json and package-lock.json first to leverage Docker's cache
COPY ./src/Managing.WebApp/package*.json ./
# Install dependencies
RUN npm i --omit=dev
# Copy the application code
COPY . .
# Build the Vite application
RUN npm run build
# Stage 2: Create the runtime image
FROM nginx:alpine
# Copy the built Vite application from the builder stage
COPY --from=builder /app/dist /usr/share/nginx/html
# Copy a custom Nginx configuration file (if you need one)
# COPY nginx.conf /etc/nginx/nginx.conf
# Expose port 80
EXPOSE 80
# Start the Nginx server
CMD ["nginx", "-g", "daemon off;"]