基於Docker部署nodejs應用

2022-02-28 05:17:40 字數 1086 閱讀 8559

docker hub中有官方node映象,按照自己的需求直接獲取對應版本的image即可。我獲取的是8.0-alpine版本,因為基於alpine的node映象足夠小,僅有63.7 mb。

從原始碼庫上,獲取到整個源**工程。(過程略)

首先,我們確立文件模型。目錄結構如下:

~/nodejs

order/ [nodejs原始碼目錄]

dockerfile

dockerfile內容如下

# 引用映象

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為構建檔案。

docker run -p 8081:8081 --name orderui -d orderui:20180531

-p 是指定埠對映,--name 給容器命名,-d 後台執行

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

kafka的docker部署及nodejs使用

專案需要完整的clone下來,而不是只建立docker compose.yml配置檔案,否則啟動時候就會報dockerfile找不到的錯誤。高手另說。version 2 services zookeeper image wurstmeister zookeeper ports 2181 2181 k...

基於docker部署kafka群集

建立網路 zookeeper建立容器 kafka建立容器 docker pull wurstmeister zookeeper docker pull wurstmeister kafka 檢視當前網絡卡 docker network ls 建立新網絡卡 docker network create ...

基於Docker的Consul集群部署

近年微服務架構在網際網路應用領域中愈來愈火,引入微服務主要解決了單體應用多個模組的緊耦合 無法擴充套件和運維困難等問題。微服務架構就是按照功能粒度將業務模組進行垂直拆分,對單體應用本身進行服務化和元件化,每個元件單獨部署為小應用 從 到 微服務與微服務之間通過 進行互動,同時為了支援水平擴充套件 效...