DEV Community

leroykayanda
leroykayanda

Posted on • Edited on

Dockerfile for a node app

FROM public.ecr.aws/docker/library/node:16 as builder WORKDIR /app COPY . . RUN npm ci RUN npm run build # Using multi-stage build, take only static web assets and place them in a nginx container # Bundle static assets with nginx FROM nginx:1.23.2-alpine as production # Copy built assets from `builder` image COPY --from=builder /app/build /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 # Start nginx CMD ["nginx", "-g", "daemon off;"] 
Enter fullscreen mode Exit fullscreen mode

nginx.conf

server { listen 80; location / { root /usr/share/nginx/html/; include /etc/nginx/mime.types; try_files $uri $uri/ /index.html; } } 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)