基於Docker部署nodejs應用

背景

公司基於Vue.js的項目最近須要部署到雲端,所以須要先行在公司內部Docker環境下驗證相關技術,於是有本文以前提。
本文展現在Docker容器中,應用部署Nodejs程序。html

獲取基礎鏡像

Docker Hub中有官方node鏡像,按照本身的需求直接獲取對應版本的image便可。我獲取的是8.0-alpine版本,由於基於alpine的node鏡像足夠小,僅有63.7 MB。node

獲取源碼

從源碼庫上,獲取到整個源代碼工程。(過程略)docker

編寫Dockerfile

首先,咱們確立文檔模型。目錄結構以下:npm

~/nodejs
    Order/        [nodejs源碼目錄] Dockerfile

Dockerfile內容以下markdown

# 引用鏡像 FROM node:8.0-alpine # 做者 MAINTAINER yubing # 執行命令,建立文件夾 RUN mkdir -p /home/Order # 將Order目錄拷貝到鏡像裏 ADD ./Order /home/Order # 指定工做目錄 WORKDIR /home/Order # 安裝依賴及構建node應用 RUN npm install RUN npm build # 配置系統變量,指定端口 ENV HOST 0.0.0.0 ENV PORT 8081 # 將端口8081開放 EXPOSE 8081 # 容器啓動命令 CMD ["npm", "start"]

構建鏡像

在Dockerfile所在目錄執行docker build命令,構建鏡像。
docker build --rm -t orderui:20180531 .
其中,--rm 是刪除構建過程當中,產生的臨時鏡像,-t 是指定鏡像名稱及標識,如:orderui:20180531,最後. 表明默認選擇Dockerfile爲構建文件。post

建立容器

docker run -p 8081:8081 --name orderui -d orderui:20180531
-p 是指定端口映射,--name 給容器命名,-d 後臺執行ui

稍等片刻,等npm start執行完畢後,便可訪問。spa

 
分類:  Docker
相關文章
相關標籤/搜索