分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

nodejs docker 开发最好选择yarn 进行包管理而不是npm

发布时间:2023-09-06 01:24责任编辑:傅花花关键词:jsnodejs
npm 与yarn 的区别网上一大堆的文章,我们在构建docker 镜像是应该遵守的有些原则
 
  • 基础镜像尽量小
  • 对于构建进行缓存处理
  • 构建的docker 的文件层数尽量少
  • 能直接运行的,就别进行重复构建了(比如go)
 
yarn 在我们进行本地构建的时候可以帮助我们减少很多资源的在重复下载,以及校验,
加速docker 项目的构建
 
以下为一个简单的例子,具体与npm的比较就不用了,效果太明显了
备注:
     此次docker nodejs 镜像使用的是 kkarczmarczyk/node-yarn (下载次数比较高)
     nodekjs 的框架使用 hapi
 
1. 项目初始化
yarn init yarn add hapipackage.json ?add"scripts":{ ??"run":"node index.js"}
2. nodejs 简单代码
  
    index.js
const Hapi = require(‘hapi‘);// Create a server with a host and portconst server = new Hapi.Server();server.connection({ ????host: ‘0.0.0.0‘, ????port: 8009 });// Add the routeserver.route({ ???method: ‘GET‘, ???path:‘/hello‘, ????handler: function (request, reply) { ???????return reply(‘hello world‘); ???}});// Start the serverserver.start((err) => { ???if (err) { ???????throw err; ???} ???console.log(‘Server running at:‘, server.info.uri);});
3. docker 配置
    
   Dockerfile
FROM kkarczmarczyk/node-yarnRUN mkdir -p /home/nodejs/appWORKDIR /home/nodejs/appCOPY . /home/nodejs/appRUN yarn CMD ["yarn","run","run"]
4. 项目结构
 
 
5. 构建&&运行
docker build -t demo .docker run -d -p 8009:8009 demo
6.  构建效果
 
 
从上图明显看到每次构建都是走的cache 对于nodejs 包也是,这样可以很快的进行镜像的
构建,明显如直接 npm 的快很多,建议大家在生产环境多使用,高效快速就是王道。
 
7. 参考资料
https://hub.docker.com/r/kkarczmarczyk/node-yarn/https://yarnpkg.com/zh-Hans/https://hapijs.com/

nodejs docker 开发最好选择yarn 进行包管理而不是npm

原文地址:http://www.cnblogs.com/rongfengliang/p/7815891.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved