├── Dockerfile ├── Dockerfile-build-app ├── Dockerfile-creare-app └── docker-compose.yml /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:lts-alpine 2 | WORKDIR /app 3 | COPY package.json ./ 4 | RUN npm install 5 | EXPOSE 8080 6 | CMD ["npm", "run", "serve"] 7 | 8 | 9 | # docker-composer up # to start the compilation process 10 | # to install npm package run 11 | # docker-compose exec web npm i bootstrap -------------------------------------------------------------------------------- /Dockerfile-build-app: -------------------------------------------------------------------------------- 1 | # base image 2 | FROM node:lts-alpine as build 3 | 4 | # set working directory 5 | WORKDIR /app 6 | 7 | # install and cache app dependencies 8 | COPY package.json /app/package.json 9 | RUN npm install 10 | 11 | # add app 12 | COPY . /app 13 | 14 | # generate build 15 | RUN npm run build 16 | 17 | ############ 18 | ### prod ### 19 | ############ 20 | 21 | # base image 22 | FROM nginx:alpine 23 | 24 | # copy artifact build from the 'build environment' 25 | COPY --from=build /app/dist /usr/share/nginx/html 26 | 27 | # expose port 80 28 | EXPOSE 80 29 | 30 | # run nginx 31 | CMD ["nginx", "-g", "daemon off;"] 32 | 33 | # docker build -t vue-prod -f Dockerfile-build-app . 34 | # docker run -itd -p 8080:80 vue-prod 35 | 36 | 37 | -------------------------------------------------------------------------------- /Dockerfile-creare-app: -------------------------------------------------------------------------------- 1 | FROM node:lts-alpine 2 | WORKDIR /app 3 | RUN npm install -g @vue/cli 4 | 5 | # docker build -t vueapp -f Dockerfile-creare-app . 6 | # docker run -itd -v ${PWD}:/app --name vueapp vueapp 7 | # docker exec -it vueapp vue create my-projectp 8 | # sudo chown -R $USER:$(id -gn $USER) ./* 9 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | web: 4 | build: . 5 | stdin_open: true 6 | tty: true 7 | ports: 8 | - "8080:8080" 9 | volumes: 10 | - "/app/node_modules" 11 | - ".:/app" 12 | --------------------------------------------------------------------------------