nodejs專案docker自動化

2021-09-29 11:17:30 字數 2078 閱讀 3720

上面兩種方式做成映象有點大,所以這裡的思路是用golang寫乙個靜態檔案伺服器,做成基礎映象,node專案生成的靜態檔案和它一起打包即可執行起來提供服務

}編譯生成名字叫http的可執行檔案:

# 例子

cmd http -v打包成docker映象

docker build -t http:v1 .
假設埠為9090

第一種:把node環境和專案一起打包(可用於開發測試)

缺點是生成的映象太大了

dockerfile

from node:10.16-alpine

label description="test image"

run yarn install --registry

expose 9090

cmd ["yarn", "start"]

第二種: 把生成的靜態檔案和golang寫的http服務打包(可用於生產)

dockerfile

from node:10.16-alpine as builder

workdir /build

add . .

# 生成dist目錄,裡面是靜態檔案

expose 9090

打包和執行

image=test:v1

docker build -t $image .

docker run -d --name=test -p 9090:9090 $image

訪問localhost:9090即可訪問該專案了

結合ci/cd工具drone,可參考這篇文章

關於快取,限速等問題可用nginx**解決

docker部署nodejs專案應用

之前筆者弄了一套nestjs專案放在自己伺服器上,並用pm2管理程序。現在要把pm2停止,嘗試一下用docker容器,那麼首先要安裝docker 由於筆者伺服器的系統是centos7,所以這裡寫的是在centos7上安裝docker 我們可以用以下命令來檢視centos版本 uname r官方源位址...

docker部署nodejs應用

docker三個核心概念如下 映象 images 乙個唯讀的模板,可以理解為應用程式的執行環境,包含了程式執行所依賴的環境和基本配置。相當於上圖中的每個小箱子裡面裝的東西。倉庫 repository 乙個用於存放映象檔案的倉庫。可以看做和gitlab一樣。容器 container 乙個執行應用程式的...

nodejs建立專案

首先,要安裝express和ejs或jade模組。npm install g express npm install g ejs 其次,安裝mysql,stylus,jquery等模組。在開發室,npm應安裝到指定專案資料夾中。這時不要加 g。在指定目錄下安裝,便會安裝到該目錄下。express命令...