摘要:前言項目中會用到做中間層,部署則是用到了,在這里總結記錄下部署要點和步驟關于的介紹和安裝這里就不贅述了,網上也有很多相關的教程和文章了,需要可自行搜索查看。
前言
????項目中會用到node做中間層,部署node則是用到了docker,在這里總結、記錄下部署要點和步驟;關于docker的介紹和安裝這里就不贅述了,網上也有很多相關的教程和文章了,需要可自行搜索查看。
`-- docker-node |-- data |-- server |-- app.js |-- Dockerfile |-- process.yml |-- package.json |-- docker-compose.yml1、創建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-alpine RUN mkdir -p /usr/src/app WORKDIR /usr/src/app RUN 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/Shanghai4、啟動容器
上述幾個文件創建完畢,我們執行下面的命令,則會創建我們的鏡像并且啟動容器
$ docker-compose -f docker-compose.yml up -d5、測試
1、訪問本地的3008端口
2、測試當代碼變化,node自動重啟功能,我們把"hello world!"改為"restart!!!!",再次刷新頁面
3、利用Portainer管理容器;可視化的界面相比命令行來說,我們可以很方便、快速查看容器日志、容器配置、狀態、以及對進行重啟、刪除等操作;我們訪問本地9000端口即可(docker-compese.yml中配置),結果如下。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/99359.html
摘要:由于之前沒安裝過這步跳過。安裝使用推薦方法設置的存儲庫并從中進行安裝。設置存儲庫安裝所需的包。這些存儲庫包含在上面的文件中,但默認情況下處于禁用狀態。執行以上命令。 由于很多項目都需要在特定的環境下才能穩定運行,在網上搜索一番后,覺得Doceker是一個很不錯的容器化平臺,決定學習踩坑,先把Docker安裝上吧.Docker有兩個版本,社區版(CE),企業版(EE),這里的是社區版。服...
摘要:如果使用阿里云函數計算,您將高峰期每小時的訪問日志,或者低谷期每小時的訪問日志交給一個計算函數處理,并將處理結果存到中。下面結合阿里云的函數計算產品來講解各個應用場景中架構以及如何解決的場景中的痛點。 摘要: Serverless概念是近年來特別火的一個技術概念,基于這種架構能構建出很多應用場景,適合各行各業,只要對輕計算、高彈性、無狀態等場景有訴求的用戶都可以通過本文來普及一些基礎概...
摘要:馬拉松會匹配每個和提供的資源,然后通過將任務下發下去。對外暴露的就是負載均衡的某個服務,后面自動將流量轉發到某個容器的端口上。還有一直辦法是用內網的,這個會維護現有的容器列表端口,并且返回任意一個的端口,頁實現了負載均衡和服務發現功能。 演講嘉賓 數人云COO 謝樂冰 在德國工作十年,回國后加入惠普電信運營商部門,擁有多年項目經驗和創業公司工作經驗。在數人云負責產品售前和運營,專注行...
閱讀 875·2021-11-15 11:37
閱讀 3611·2021-11-11 16:55
閱讀 3276·2021-11-11 11:01
閱讀 1005·2019-08-30 15:43
閱讀 2751·2019-08-30 14:12
閱讀 686·2019-08-30 12:58
閱讀 3394·2019-08-29 15:19
閱讀 2032·2019-08-29 13:59