Friday, April 20, 2018

Run React App on Nginx Docker container


App
|_conf
          |_conf.d
                      |_default.conf
|_src
|_package.json
|_Dockerfile
|_docker-compose.yml
|_webpack.config.js
|_dist
        |bundle.js


Dockerfile
# build environment 
FROM node:9.6.1 as builder 
RUN npm install webpack -g 
RUN mkdir /usr/src/app 
WORKDIR /usr/src/app 
ENV PATH /usr/src/app/node_modules/.bin:$PATH 
COPY package.json /usr/src/app/package.json 
RUN npm install --silent 
COPY . /usr/src/app 
RUN npm run build 
 
# production environment 
FROM nginx:1.13.9-alpine 
RUN rm -rf /etc/nginx/conf.d 
COPY conf /etc/nginx 
COPY --from=builder /usr/src/app/dist /usr/share/nginx/html 
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]


docker-compose.yml

version: '2' 
 
services: 
 
  custom-component: 
    container_name: custom-component 
    build: 
      context: . 
      dockerfile: Dockerfile 
    volumes: 
      - '.:/usr/src/app' 
      - '/usr/src/app/node_modules' 
    ports: 
      - '80:80' 


Access app: http://localhost/bundle.js

No comments:

Post a Comment