Staged Docker builds for dev and prod
This commit is contained in:
		| @@ -1,9 +1,22 @@ | ||||
| FROM node:16-alpine | ||||
| FROM node AS dev | ||||
|  | ||||
| WORKDIR /app | ||||
| EXPOSE 8080 | ||||
| CMD ["npm", "run", "dev"] | ||||
|  | ||||
| COPY package* ./ | ||||
| RUN npm install | ||||
| COPY . . | ||||
|  | ||||
| ENTRYPOINT ["npm", "run", "dev"] | ||||
|  | ||||
| # builder | ||||
| FROM dev AS builder | ||||
| RUN npm run build | ||||
|  | ||||
| # serve | ||||
| FROM nginx AS prod | ||||
| WORKDIR /usr/share/nginx/html | ||||
| RUN rm -rf ./* | ||||
| COPY ./nginx.conf /etc/nginx/conf.d/default.conf | ||||
| COPY --from=builder /app/dist . | ||||
| ENTRYPOINT ["nginx", "-g", "daemon off;"] | ||||
							
								
								
									
										9
									
								
								frontend/nginx.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								frontend/nginx.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| server { | ||||
|     listen       8080; | ||||
|     server_name  _; | ||||
|  | ||||
|     location / { | ||||
|         root   /usr/share/nginx/html; | ||||
|         index  index.html index.htm; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user