diff --git a/06-building-container-images/client-react/Dockerfile.railway b/06-building-container-images/client-react/Dockerfile.railway new file mode 100644 index 0000000..c5e77f0 --- /dev/null +++ b/06-building-container-images/client-react/Dockerfile.railway @@ -0,0 +1,29 @@ +# syntax=docker/dockerfile:1.5 + +FROM node:19.4-bullseye AS build + +# Specify working directory other than / +WORKDIR /usr/src/app + +# Copy only files required to install +# dependencies (better layer caching) +COPY package*.json ./ + +# Use cache mount to speed up install of existing dependencies +RUN npm install + +COPY . . + +RUN npm run build + +# Use separate stage for deployable image +FROM nginx:1.23-alpine + +# Use COPY --link to avoid breaking cache if we change the second stage base image +COPY --link nginx.conf /etc/nginx/conf.d/default.conf + +COPY --link --from=build usr/src/app/dist/ /usr/share/nginx/html + +EXPOSE 80 + +# No CMD specified... will uses CMD/ENTRYPOINT from base image (nginx:1.23-alpine) \ No newline at end of file