Day 16 撰写一个 dockerfile,和 vue-cli 服务进行整合开发

使用 Vue 作为前端框架的开发者,对於 vue-cli 想必不陌生。将 Docker 和 vue-cli 整合成一个开发环境,可以让他人即时预览开发环境下的成果。

步骤

  1. 开新专案,这边新开一个名为 docker-vue-test 的 vue3 专案
    vue create docker-vue-test
  2. 建立 dockerfile
cd docker-vue-test
### Dockerfile in docker-vue-test
FROM node:12-alpine
# make the 'app' folder the current working directory
WORKDIR /app
# copy both 'package.json' and 'package-lock.json' (if available)
COPY package*.json ./
# install project dependencies
RUN npm install
EXPOSE 8080 #容器建立後,其预设开启 8080 对外
  1. 从 dockerfile 建立一个名为 docker-vue-test 的映像档
    docker build . -t docker-vue-test
  2. docker images 检查是否建立成功
REPOSITORY                                                   TAG                            IMAGE ID            CREATED             SIZE
docker-vue-test                                              latest                         12a507b72910        47 minutes ago      232MB
  1. 用下列指令绑定「本机端的资料夹」和「新建立的容器内的资料夹」连通,并建立容器
docker run -it -p 1234:8080 -v <本机端的 docker-vue-test 绝对路径>:/app docker-vue-test sh
  1. 建立後会载入到容器内的 /app 资料夹,在里面启动 npm run serve 就完成了
    Demo

采坑

  1. 为何容器内的 app 资料夹仅有 package-lock.json?
    其实映像档内是有资料的,但你在启动一个新容器时,你的本机端的 vue 专案资料夹的绝对路径有错,所以才会导致剩下 package-lock.json

参考资料

  1. Docker, Vue Cli 整合 (2)
  2. Vue - 使用 Docker 布署
  3. Dockerize Vue.js App

<<:  [Android Studio 30天自我挑战] RadioGroup,RadioButton元件介绍

>>:  Day 17- 依 NEWS 前台页面分析拆解後,逐步建立後台功能 (下) - 画面内容互动 - ASP.NET Web Forms C#

Day 11 Analyze images with the Computer Vision service

Computer vision - Process images is key to creatin...

DAY2:简介Android Studio与Kotlin

首先,我们先对於Android Studio以及所使用的Kotlin语言来做个简单的介绍。 Andr...

Day.8 Cache 的基本原理

为甚麽我们需要 Cache? 在思考为甚麽需要 Cache 之前,先思考程序是如何运行起来的 ? 我...

[前端暴龙机,Vue2.x 进化 Vue3 ] Day11.列表渲染

当我们有很多重复的架构,内容却不一样,以旧有无框架的开发,我们可能就需要手动一笔一笔的刻出来,更进步...

D12/ 我要怎麽用动画改变中的资料? - Animations

今天大概会聊到的范围 Animation 上一次有聊到,我们可以透过 Gesture 和 Stat...