Merge pull request #383 from 5h4k4r/use-multi-stage-build

Builds Docker image of backend component with multi-stage Dockerfile
This commit is contained in:
Maidul Islam
2023-02-26 10:50:56 -05:00
committed by GitHub
3 changed files with 18 additions and 10 deletions
+16 -7
View File
@@ -1,18 +1,27 @@
FROM node:16-bullseye-slim # Build stage
FROM node:16-alpine AS build
WORKDIR /app WORKDIR /app
COPY package.json package-lock.json ./ COPY package*.json ./
# RUN npm ci --only-production --ignore-scripts
# "prepare": "cd .. && npm install"
RUN npm ci --only-production RUN npm ci --only-production
COPY . . COPY . .
RUN npm run build
# Production stage
FROM node:16-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only-production
COPY --from=build /app .
HEALTHCHECK --interval=10s --timeout=3s --start-period=10s \ HEALTHCHECK --interval=10s --timeout=3s --start-period=10s \
CMD node healthcheck.js CMD node healthcheck.js
EXPOSE 4000
CMD ["npm", "run", "start"] CMD ["npm", "run", "start"]
+1 -1
View File
@@ -48,7 +48,7 @@
"version": "1.0.0", "version": "1.0.0",
"main": "src/index.js", "main": "src/index.js",
"scripts": { "scripts": {
"start": "npm run build && node build/index.js", "start": "node build/index.js",
"dev": "nodemon", "dev": "nodemon",
"swagger-autogen": "node ./swagger/index.ts", "swagger-autogen": "node ./swagger/index.ts",
"build": "rimraf ./build && tsc && cp -R ./src/templates ./build", "build": "rimraf ./build && tsc && cp -R ./src/templates ./build",
+1 -2
View File
@@ -1,4 +1,4 @@
version: '3' version: "3"
services: services:
nginx: nginx:
@@ -22,7 +22,6 @@ services:
depends_on: depends_on:
- mongo - mongo
image: infisical/backend image: infisical/backend
command: npm run start
env_file: .env env_file: .env
environment: environment:
- NODE_ENV=production - NODE_ENV=production