sentiment-analysis-fe / Dockerfile
Sharathhebbar24's picture
Update Dockerfile
d1ebe28 verified
raw
history blame contribute delete
828 Bytes
# Use an official Node.js runtime as a parent image
FROM node:16 as builder
# Set the working directory
WORKDIR /app
# Copy package.json and install dependencies
COPY package*.json ./
RUN npm install
# Copy the rest of the application code
COPY . .
# Build the React app
RUN npm run build
# Use an Nginx image to serve the built app
FROM nginx:alpine
# Set user to root temporarily to fix permissions
USER root
# Fix permissions for nginx cache and /run directory
RUN mkdir -p /var/cache/nginx /run && chmod -R 777 /var/cache/nginx /run
# Copy built React files
COPY --from=builder /app/build /usr/share/nginx/html
# (Optional) Fix Nginx listen port if needed
RUN sed -i 's/listen\s\+80;/listen 8080;/' /etc/nginx/conf.d/default.conf
# Expose correct port
EXPOSE 8080
# Start Nginx
CMD ["nginx", "-g", "daemon off;"]