Docker Multiple Stage NPM

Diposting pada

Biasanya multiple stage di lakukan di Gitlab CI / Jenkins pada kali ini akan mencoba melakukan multiple stage menggunakan Dockerfile. Case kali ini membuat multistage compile Vuejs sampai deploy ke webserver nginx seperti contoh dibawah.

# build stage
# docker image yang digunakan dan dijadikan sebagai build stage
FROM node:latest as build-stage
# direktori default pada container
WORKDIR /app
# meng-copy seluruh json ke folder app
COPY package*.json ./
# install seluruh package npm
RUN npm install
# meng-copy seluruh file projek ke workdir
COPY . .
# update npm
RUN npm update
# compile Vuejs
RUN npm run build

# production stage
# docker image yang digunakan dan dijadikan sebagai production stage
FROM nginx:stable-alpine as production-stage
# meng-copy hasil compile pada folder /app/dist ke folder default image nginx
COPY --from=build-stage /app/dist /usr/share/nginx/html
# open port
EXPOSE 80
# mengkunci satu service yang dijalan
CMD ["nginx", "-g", "daemon off;"]

Untuk contoh web Vuejs silakan untuk di download pada link referensi.

 

Link Referensi :

https://github.com/vuejs-templates/webpack

https://vuejs.org/v2/cookbook/dockerize-vuejs-app.html

https://hub.docker.com/_/node/

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.