摘要:少啰嗦,先看代碼分析原理使用的鏡像,顯著縮小鏡像大小使用命令,清空緩存,再次減少包占用的時間和放在一起寫,減少的層數使用淘寶源,顯著提高包下載的速度守護進程通過運行中的包,避免多帶帶全局安裝的占用時間到到這樣的順序可以充分使
少啰嗦,先看代碼 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包占用的時間
npm i 和 npm chache clean放在一起寫,減少build的層數
使用淘寶npm源,顯著提高npm包下載的速度
守護進程forever通過npm運行node_module中的包,避免多帶帶全局安裝forever的占用時間
copy package到run npm i到copy . /app, 這樣的順序可以充分使用鏡像緩存
修改過后,對比之前通過jenkins打包時間從10分鐘縮短到7.4秒
參考資料How to write excellent Dockerfiles
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26960.html
摘要:接下來我們將逐步的減少這個鏡像的體積。優化生產環境鏡像使用鏡像大幅減小鏡像體積的最簡單和最快的方法是選擇一個小得多的基本鏡像。使用多階段構建可以充分利用鏡像的緩存,大大減少最終部署到生產環境的時間。 關注作者github每日一道面試題詳解 你討厭部署你的應用程序花費很長時間嗎? 對于單個容器來說,超過gb并不是最佳實踐。每次部署新版本時都要處理數十億字節,這對我們來說并不太合適。 本文...
摘要:構建過程類似如下運行容器鏡像構建完成后,可以通過所構建的鏡像創建運行容器,從而實現應用的化部暑。使用鏡像運行一個容器在以上操作中,我們通過鏡像運行了容器,并將容器命名為。此時可通過訪問服務。 初始化Dockerfile 假設我們的項目名為express,在express項目中創建編輯Dockerfile文件: $ vim Dockerfile FROM node:latest RU...
摘要:將安裝與模塊安裝放在一起的話,則每次修改源代碼,都需要重新安裝,這顯然不合適。使用設置鏡像元數據使用指令,可以為鏡像設置元數據,例如鏡像創建者或者鏡像說明。自從年雙十一正式上線,累計處理了億錯誤事件,付費客戶有金山軟件百姓網等眾多品牌企業。 譯者按: Dockerfile 的語法非常簡單,然而如何加快鏡像構建速度,如何減少 Docker 鏡像的大小卻不是那么直觀,需要積累實踐經驗。這篇...
摘要:創建文件夾創建創建創建配置文件設置基礎鏡像如果上個步驟已經更新軟件源,這步可以忽略安裝和將目錄中的文件添加至鏡像的目錄中設置工作目錄安裝依賴庫暴露端口,便于訪問設置啟動時默認運行命令構建鏡像通過該命令,按照所配置的信息構建出鏡 創建文件夾: mkdir ~/docker-node-hello && cd $_ 創建 index.js var express = require(expr...
摘要:創建文件夾創建創建創建配置文件設置基礎鏡像如果上個步驟已經更新軟件源,這步可以忽略安裝和將目錄中的文件添加至鏡像的目錄中設置工作目錄安裝依賴庫暴露端口,便于訪問設置啟動時默認運行命令構建鏡像通過該命令,按照所配置的信息構建出鏡 創建文件夾: mkdir ~/docker-node-hello && cd $_ 創建 index.js var express = require(expr...
閱讀 565·2023-04-25 16:00
閱讀 1598·2019-08-26 13:54
閱讀 2497·2019-08-26 13:47
閱讀 3402·2019-08-26 13:39
閱讀 1037·2019-08-26 13:37
閱讀 2734·2019-08-26 10:21
閱讀 3534·2019-08-23 18:19
閱讀 1601·2019-08-23 18:02