国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

Docker部署Node.js的方法步驟

2024-09-01 13:56:06
字體:
來源:轉載
供稿:網友

前言

項目中會用到node做中間層,部署node則是用到了docker,在這里總結、記錄下部署要點和步驟;關于docker的介紹和安裝這里就不贅述了,網上也有很多相關的教程和文章了,需要可自行搜索查看。

項目結構

`-- docker-node  |-- data  |-- server    |-- app.js    |-- Dockerfile    |-- process.yml    |-- package.json  |-- docker-compose.yml

1、創建Node.js程序

app.js

const express = require('express');const app = express();app.get('/', (req, res) => res.send('hello world!'));app.listen(3008);

2、創建Dockerfile

FROM node:8.9-alpineRUN mkdir -p /usr/src/appWORKDIR /usr/src/appRUN npm set registry https://registry.npm.taobao.org/RUN npm install CMD ["./node_modules/pm2/bin/pm2-docker", "process.yml"]

從Dockerfile中可以看到我們是通過pm2-docker運行node應用的,利用PM2我們可以監聽文件變化,達到應用重啟、日志分存等效果;這里我們需要一個process.yml的配置文件,相關用法可以查看PM2文檔。

process.yml

apps: - script  : 'app.js'  name   : 'dokcer-node'  exec_mode: 'fork'  watch  : true  instances: 1  log_date_format : 'YYYY-MM-DD HH:mm Z'  ignore_watch: ['node_modules']

3、創建docker-compose.yml

生產環境上我們用到往往不只一個容器,我們可以通過一個配置文件來管理多個Docker容器,然后使用docker-compose來啟動,停止、重啟應用。

docker-compose.yml

version: "3.0"services: server_node:  container_name: server-node  build:    context: ./server  volumes:   - ./server:/usr/src/app  ports:   - "3008:3008"  environment:   - TZ=Asia/Shanghai portainer:  image: portainer/portainer:1.11.4  container_name: portainer  expose:   - "9000"  ports:   - "9000:9000"  volumes:   - /var/run/docker.sock:/var/run/docker.sock   - ./data/portainer:/data  environment:   - TZ=Asia/Shanghai

4、啟動容器

上述幾個文件創建完畢,我們執行下面的命令,則會創建我們的鏡像并且啟動容器

$ docker-compose -f docker-compose.yml up -d

5、測試

1、訪問本地的3008端口

Docker,Node.js

2、測試當代碼變化,node自動重啟功能,我們把"hello world!"改為"restart!!!!",再次刷新頁面

Docker,Node.js

3、利用Portainer管理容器;可視化的界面相比命令行來說,我們可以很方便、快速查看容器日志、容器配置、狀態、以及對進行重啟、刪除等操作;我們訪問本地9000端口即可(docker-compese.yml中配置),結果如下。

Docker,Node.js

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太白县| 和林格尔县| 泸州市| 通江县| 肃南| 卢湾区| 慈溪市| 米易县| 原平市| 宜良县| 阳西县| 托里县| 枣阳市| 阿图什市| 三明市| 榆树市| 南宁市| 临潭县| 卢龙县| 武功县| 许昌市| 吉安市| 台州市| 石河子市| 周口市| 宁远县| 泾阳县| 山东| 兴安县| 古丈县| 新晃| 女性| 德庆县| 汶上县| 井冈山市| 阿坝| 马鞍山市| 宁陕县| 长兴县| 柳江县| 宝兴县|