Docker配備nodeプログラム+PM 2デーモン+mongodbデータベース

11817 ワード

ここには心を込めて準備したPPTがあります.まずPPTリンクを見てみましょう.
まずNodejsインスタンスを準備します
Express足場を使用してデモを行います
http://www.expressjs.com.cn/starter/generator.html
アプリケーションジェネレータexpress-generatorを使用すると、アプリケーションのスケルトンexpress-generatorをすばやく生成できます.expressコマンドラインツールが含まれています.
npm install express-generator -g           //       

express --view=pug myapp                    //    myapp express  

cd myapp						    //  myapp   

npm install 						    //     

npm start						    //  

  localhost:3000     Welcome to Express

Docker部署node程序+PM2守护进程+mongodb数据库_第1张图片
Dockerfileの作成
公式リンクからDockerをダウンロードし、ローカルプロジェクトにDockerfileファイルを作成して作成します.
FROM        node:latest  						//       node  
RUN          mkdir -p /usr/src/app 					//         
WORKDIR /usr/src/app 					      		//      
COPY      . /usr/src/app 							//              
RUN          npm install 							//  npm install  
EXPOSE    3000							  	//    
CMD         [“npm”,”start”]   						//    

    docker         

docker build -t myapp .								  //     myapp   

docker run -d -p 3000:3000 --name=”myapp” myapp  		  //              

localhost:3000                           						         //    Welcome to Express

docker logs -f --tail 100 myapp                      		                //    100   

Docker部署node程序+PM2守护进程+mongodb数据库_第2张图片 Docker部署node程序+PM2守护进程+mongodb数据库_第3张图片
PM 2とは?https://pm2.keymetrics.io/
概要:
PM 2は北京邦永科技有限公司が自主的に研究開発した国際先進的なプロジェクト管理思想に溶け込んでいるだけでなく、国内の管理習慣と標準的な管理集積システムを結合しており、企業レベルのマルチプロジェクト応用にも適していると同時に、単一の大型プロジェクトの使用にも使用できる.
特徴:
PM 2ソフトウェアはPMIの九大プロジェクト管理知識体系を主導思想とし、成熟したIT技術を手段とし、現代プロジェクト管理理論、国内プロジェクト管理規程と習慣、プロジェクト管理専門家の知恵などを統合し、専門管理+プラットフォーム+協同事務のモデルを通じて、プロジェクト管理レベルの向上を可能にした.計画をリーダーとしてシステムを運営し、契約を中心として全面的に記録し、費用管理を核心として深く制御する.先進的で、国際と軌道に乗るプロジェクト管理方法体系(理論、ツール、技能と方法);邦永科学技術のプロジェクト管理応用実践経験を頼りに、プロジェクト型企業のために地域にまたがり、分布式の多プロジェクト管理プラットフォームを構築する.企業の業務操作層、管理層、意思決定層の3つの異なるレベルの実際の需要を越え、単一プロジェクト管理、多プロジェクト管理、プロジェクト組合せ管理及び企業集約化経営の要求を満たす.企業情報化は請負工事プロジェクト管理情報化–企業多プロジェクト集積管理情報化–プロジェクト管理を核心とする経営管理情報化という過程を実現する.
PM 2常用命令
1. pm2 start app.js 					//      
2. pm2 start app.js -i 4 				//          ,      
3. pm2 start app.js -i max 				//             
4. pm2 start app.js --name="app" 		//        
5. pm2 start app.js --watch 				//           ,  node_module       
6. pm2 list 							//    pm2       
7. pm2 jlist 							//json         
8. pm2 prettylist 						//   json  
9. pm2 describe  				//             
10. pm2 monit 						//         CPU       , 30s    
11. pm2 show  				//           
12. pm2 log  							//          
13. pm2 log --lines 200 				//      
14. pm2 reloadLogs 					//      
15. pm2 flush 						//        
16. pm2 stop all 						//        
17. pm2 stop  					//        
18. pm2 restart all 					//        
19. pm2 delete all 					//        
20. pm2 delete  				//        
16. pm2 scale  10 			//           10 

PM 2実戦
  Dockerfile     

RUN npm install pm2 -g 	

  CMD    

CMD ["pm2-runtime","./bin/www","-i","4", "--watch", "--name", "myapp"]  

    	      

      , pm2    

次のコマンドを入力します
docker exec -it myapp /bin/bash    //          
pm2 logs									//  pm2  
pm2 list									//  pm2      

Docker部署node程序+PM2守护进程+mongodb数据库_第4张图片 Docker部署node程序+PM2守护进程+mongodb数据库_第5张图片
pm 2ビジュアル化リンク
同様に、pm 2スクリプトプログラムを使用して操作することもできます.
pm2 ecosystem 					//      
pm2 start ecosystem.config.js
module.exports = {
  apps: [{
    name: 'www',
    script: `${__dirname}/bin/www`,

    // Options reference: https://pm2.io/doc/en/runtime/reference/ecosystem-file/
    instances: 4,		 			//         
    autorestart: true, 				//           
    watch: true, 					//         
    max_memory_restart: '1G', 		//       ,    
    env: { 						//    
      NODE_ENV: 'development'
    },
    env_production: {
      NODE_ENV: 'production'
    }
  },
  //......
   ]
};

mongodb dockerのインストールと導入
1. docker search mongo  //    mongo  

2. docker pull mongo   //      

3. docker imsages   //      

4. docker run -p 27017:27017 -v $PWD -d mongo //$pwd       mongodb    ,       

5. docker ps -a //  mmongo    

在这里插入图片描述