国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Nodejs Express dockerfile最佳實(shí)踐

xi4oh4o / 3289人閱讀

摘要:少啰嗦,先看代碼分析原理使用的鏡像,顯著縮小鏡像大小使用命令,清空緩存,再次減少包占用的時(shí)間和放在一起寫,減少的層數(shù)使用淘寶源,顯著提高包下載的速度守護(hù)進(jìn)程通過運(yùn)行中的包,避免多帶帶全局安裝的占用時(shí)間到到這樣的順序可以充分使

少啰嗦,先看代碼 package.json
{
  "name": "xxx",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www",
    "forever": "node_modules/forever/bin/forever bin/www"
  },
  "dependencies": {
    "async": "0.9.0",
    "body-parser": "1.13.2",
    "compression": "1.6.2",
    "config": "1.12.0",
    "connect-multiparty": "2.0.0",
    "cookie-parser": "1.3.5",
    "debug": "2.2.0",
    "ejs": "2.3.3",
    "express": "4.13.1",
    "forever": "0.15.3",
    "http-proxy-middleware": "0.17.3",
    "log4js": "0.6.24",
    "serve-favicon": "2.3.0"
  }
}
dockerfile
FROM hub.c.163.com/lightingfire/nodejs:6.9.1-alpine
WORKDIR /app
COPY package.json /app
RUN npm i --registry https://registry.npm.taobao.org && npm cache clean
COPY . /app
EXPOSE 8086
CMD npm run forever
分析原理

使用alpine的nodejs鏡像,顯著縮小nodejs鏡像大小

使用npm cache clean命令,清空npm緩存,再次減少npm包占用的時(shí)間

npm i 和 npm chache clean放在一起寫,減少build的層數(shù)

使用淘寶npm源,顯著提高npm包下載的速度

守護(hù)進(jìn)程forever通過npm運(yùn)行node_module中的包,避免多帶帶全局安裝forever的占用時(shí)間

copy package到run npm i到copy . /app, 這樣的順序可以充分使用鏡像緩存

修改過后,對比之前通過jenkins打包時(shí)間從10分鐘縮短到7.4秒

參考資料

How to write excellent Dockerfiles

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26960.html

相關(guān)文章

  • Node.js docker 鏡像體積優(yōu)化實(shí)踐

    摘要:接下來我們將逐步的減少這個(gè)鏡像的體積。優(yōu)化生產(chǎn)環(huán)境鏡像使用鏡像大幅減小鏡像體積的最簡單和最快的方法是選擇一個(gè)小得多的基本鏡像。使用多階段構(gòu)建可以充分利用鏡像的緩存,大大減少最終部署到生產(chǎn)環(huán)境的時(shí)間。 關(guān)注作者github每日一道面試題詳解 你討厭部署你的應(yīng)用程序花費(fèi)很長時(shí)間嗎? 對于單個(gè)容器來說,超過gb并不是最佳實(shí)踐。每次部署新版本時(shí)都要處理數(shù)十億字節(jié),這對我們來說并不太合適。 本文...

    wenhai.he 評論0 收藏0
  • 使用Dockerfile部署nodejs服務(wù)

    摘要:構(gòu)建過程類似如下運(yùn)行容器鏡像構(gòu)建完成后,可以通過所構(gòu)建的鏡像創(chuàng)建運(yùn)行容器,從而實(shí)現(xiàn)應(yīng)用的化部暑。使用鏡像運(yùn)行一個(gè)容器在以上操作中,我們通過鏡像運(yùn)行了容器,并將容器命名為。此時(shí)可通過訪問服務(wù)。 初始化Dockerfile 假設(shè)我們的項(xiàng)目名為express,在express項(xiàng)目中創(chuàng)建編輯Dockerfile文件: $ vim Dockerfile FROM node:latest RU...

    nihao 評論0 收藏0
  • 如何編寫最佳Dockerfile

    摘要:將安裝與模塊安裝放在一起的話,則每次修改源代碼,都需要重新安裝,這顯然不合適。使用設(shè)置鏡像元數(shù)據(jù)使用指令,可以為鏡像設(shè)置元數(shù)據(jù),例如鏡像創(chuàng)建者或者鏡像說明。自從年雙十一正式上線,累計(jì)處理了億錯(cuò)誤事件,付費(fèi)客戶有金山軟件百姓網(wǎng)等眾多品牌企業(yè)。 譯者按: Dockerfile 的語法非常簡單,然而如何加快鏡像構(gòu)建速度,如何減少 Docker 鏡像的大小卻不是那么直觀,需要積累實(shí)踐經(jīng)驗(yàn)。這篇...

    Sike 評論0 收藏0
  • docker安裝nodejs

    摘要:創(chuàng)建文件夾創(chuàng)建創(chuàng)建創(chuàng)建配置文件設(shè)置基礎(chǔ)鏡像如果上個(gè)步驟已經(jīng)更新軟件源,這步可以忽略安裝和將目錄中的文件添加至鏡像的目錄中設(shè)置工作目錄安裝依賴庫暴露端口,便于訪問設(shè)置啟動(dòng)時(shí)默認(rèn)運(yùn)行命令構(gòu)建鏡像通過該命令,按照所配置的信息構(gòu)建出鏡 創(chuàng)建文件夾: mkdir ~/docker-node-hello && cd $_ 創(chuàng)建 index.js var express = require(expr...

    Jaden 評論0 收藏0
  • docker安裝nodejs

    摘要:創(chuàng)建文件夾創(chuàng)建創(chuàng)建創(chuàng)建配置文件設(shè)置基礎(chǔ)鏡像如果上個(gè)步驟已經(jīng)更新軟件源,這步可以忽略安裝和將目錄中的文件添加至鏡像的目錄中設(shè)置工作目錄安裝依賴庫暴露端口,便于訪問設(shè)置啟動(dòng)時(shí)默認(rèn)運(yùn)行命令構(gòu)建鏡像通過該命令,按照所配置的信息構(gòu)建出鏡 創(chuàng)建文件夾: mkdir ~/docker-node-hello && cd $_ 創(chuàng)建 index.js var express = require(expr...

    xiaodao 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<