精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

將 Node.js 應用程序容器化的七種方法

開發 前端
本文列出了七種容器化 Node.js 應用程序的方法,讓我們簡要地看一下它們。

本文列出了七種容器化 Node.js 應用程序的方法,讓我們簡要地看一下它們。

在過去的五年里,Node.js 一直是嚴肅程序員的最愛。最大吞吐量的 JavaScript 運行時環境是一個免費的開源程序,旨在提高JavaScript在多個平臺上的性能。

由于其事件驅動、非阻塞 I/O 方法,Node.js 體積小且處理請求速度快,使其成為數據密集型、實時和分布式應用程序的絕佳選擇。

開發人員越來越多地轉向 Node.js 應用程序優化服務;因此,簡化跨平臺應用程序的設計和發布過程非常重要。那么,讓我們進入文章的上下文。

Node App 容器化和優化建議

這里列出了七種容器化 Node.js 應用程序的方法。讓我們簡要地看一下它們。

1.使用特定的基本圖像標簽而不是“版本:最新”

創建Docker映像時,應始終包含用于定義版本信息、預期目標(例如生產或測試)、穩定性或其他用于跨環境分發應用程序的相關信息的有用標簽。

在開發環境之外,您不應依賴 Docker 自動下載的最新標簽。使用最新版本的程序可能會導致奇怪甚至有害的影響。

假設您不斷更新到最新版本的圖像。在這種情況下,最終,其中一個更新肯定會包含一個全新的構建或未經測試的代碼,這將導致您的應用程序停止按預期運行。

以針對該節點的這個示例 Dockerfile 為例:

# Create image based on the official Node image from dockerhubFROM 
node:lts-buster # Create app directoryWORKDIR /usr/src/app # Copy dependency 
definitionsCOPY package.json ./package.jsonCOPY package-lock.json 
./package-lock.json # Install dependencies#RUN npm set progress=false \# 
&& npm config set depth 0 \# && npm i installRUN npm ci # Get 
all the code needed to run the appCOPY . . # Expose the port the app runs 
inEXPOSE 3000 # Serve the appCMD ["npm", "start"]

node:latest您應該使用Docker 映像而不是使用lts-buster。考慮到這lts-buster是一張靜態圖片,這種方法可能更可取。

2.使用多階段構建

一個單一的 Docker 基礎鏡像可以在構建的多個階段使用,包括編譯、打包和 單元測試。但是,執行程序的實際代碼存儲在不同的映像中。

由于完成的圖像沒有任何開發或調試工具,因此它會更安全并且占用更少的空間。此外,如果您使用 Docker 的多階段構建過程,您可以確定您的構建將既高效又可重復。

您可以在 Dockerfile 中創建多個階段來控制構建該映像的方式。您可以使用多層方法容器化您的 Node 應用程序。

應用程序的不同部分,如代碼、資產,甚至快照依賴項,可能位于構成程序的許多層的每一層中。如果我們希望為我們的應用程序創建一個獨立的圖像怎么辦?

要查看此操作的示例 Dockerfile,請檢查以下內容:

FROM NODE:LTS-BUSTER-SLIM AS DEVELOPMENT WORKDIR /USR/SRC/APP COPY 
PACKAGE.JSON ./PACKAGE.JSONCOPY PACKAGE-LOCK.JSON ./PACKAGE-LOCK.JSONRUN NPM CI 
COPY . . EXPOSE 3000 CMD [ "NPM", "RUN", "DEV" ] FROM DEVELOPMENT AS DEV-ENVSRUN 
<

我們首先AS DEVELOPMENT為NODE:LTS-BUSTER-SLIM語句添加一個標簽。這使我們可以在其他構建階段中引用此構建階段。接下來,我們添加一個標記為 的新開發階段DEV-ENVS。我們將使用這個階段來運行我們的開發。

現在,讓我們重建我們的形象并運行我們的開發。為了僅執行開發構建階段,我們將使用與之前相同的 Docker 構建命令,但這次我們將使用 -development-target參數。

docker build -t node-docker --target dev-envs

3.修復節點鏡像中的安全漏洞

為了創建現代服務,程序員經常使用已有的第三方軟件。但是,在將第三方軟件集成到您的項目中時一定要謹慎,因為它可能存在安全漏洞。

使用經過驗證的圖像源和保持警惕的容器監控都是有用的安全措施。

node:lts-buster-slimDocker Desktop 會通知您對新創建的Docker 鏡像進行安全檢查。

讓我們借助 Docker Desktop 的 Snyk 插件看看我們的 Node.js 應用程序。首先在您的 Mac、Windows 或 Linux PC 上設置Docker Desktop 4.8.0+。接下來,選擇設置 > 擴展下的允許 Docker 擴展復選框。

之后,您可以通過選擇左側欄中的“添加擴展”選項在擴展市場中搜索 Snyk。

放入 Snyk 并登錄網絡:

在“選擇圖像名稱”框中鍵入“Node Docker 官方圖像”。為了開始掃描,您需要登錄到 Docker Hub。如果您沒有帳戶,請不要擔心;制作一個簡單、快速且完全免費。

使用 Docker Desktop,掃描結果如下所示:

在此掃描期間,Snyk 發現了 70 個不同嚴重程度的漏洞。確定它們后,您可以開始修復它們以提高您的聲譽。

不僅如此:在您的 Dockerfile 上使用 Docker scan 命令將執行漏洞掃描。

4. 利用健康檢查

該HEALTHCHECK指令指示 Docker 如何檢查容器的運行狀況。例如,這可用于確定 Web 服務器是否處于無限循環中并且無法接受新連接,即使服務器進程仍處于活動狀態。

# syntax=docker/dockerfile:1.4 FROM node:lts-buster-slim AS development # 
Create app directoryWORKDIR /usr/src/app COPY package.json ./package.jsonCOPY 
package-lock.json ./package-lock.jsonRUN npm ci COPY . . EXPOSE 3000 CMD [ 
"npm", "run", "dev" ] FROM development as dev-envsRUN <

在生產階段,應用程序通常由 Kubernetes 或服務結構等編排器管理。HEALTHCHECK允許您通知編排器有關容器的健康狀況,這可能用于基于配置的管理。

這是一個很好的例子:

BACKEND: CONTAINER_NAME: BACKEND RESTART: ALWAYS BUILD: BACKEND VOLUMES: - 
./BACKEND:/USR/SRC/APP - /USR/SRC/APP/NODE_MODULES DEPENDS_ON: - MONGO NETWORKS: 
- EXPRESS-MONGO - REACT-EXPRESS EXPOSE: - 3000 HEALTHCHECK: TEST: ["CMD", 
"CURL", "-F", "HTTP://LOCALHOST:3000"] INTERVAL: 1M30S TIMEOUT: 10S RETRIES: 3 
START_PERIOD: 40S

5.使用.dockerignore

我們建議在與 Dockerfile 相同的文件夾中創建一個.dockerignore文件以縮短構建時間。本指南需要您的 .dockerignore 文件中的一行:

NODE_MODULES

由于這一行,包含 Maven 輸出的節點模塊目錄未包含在 Docker 構建上下文中。擁有一個組織良好的.dockerignore文件有很多好處,但目前,這個簡單的文件就足夠了。

接下來,我將描述構建環境及其如此重要的原因。可以使用 Docker build 命令通過組合 Dockerfile 和“上下文”來創建 Docker 映像。在此設置中,您所做的一切都適用于您剛才給我的目錄結構或 URL。這些文件中的任何一個都可以在構建過程中使用。

同時,Node 開發人員在編譯上下文中操作。Mac、Windows 或 Linux 上的目錄。運行該程序所需的一切都可以在此文件夾中找到,包括源代碼、設置、庫和插件。

如果你提供一個。dockerignore文件,我們可能會在創建新圖像時使用它來跳過項目的某些部分:代碼、配置文件、庫、插件等。例如,如果你想將節點模塊目錄保留在構建之外,你可以通過將以下內容添加到您的.dockerignore文件來實現。

后端

前端

6.出于安全目的以非根用戶身份運行

在用戶許可的情況下運行應用程序更安全,因為這有助于減少漏洞 - 即使使用 Docker 容器也是如此。Docker 容器及其內容會自動獲得對主機系統的根訪問權限。這就是為什么建議永遠不要以 root 用戶身份運行 Docker 容器。

USR這可以通過在 Dockerfile 中包含某些指令來實現。在執行圖像和任何未來的RUN、CMD或ENTRYPOINT指令時,該USR命令指定所需的用戶名(或 UID),以及可選的用戶組(或 GID):

FROM NODE:LTS-BUSTER AS DEVELOPMENT WORKDIR /USR/SRC/APP COPY PACKAGE.JSON 
./PACKAGE.JSONCOPY PACKAGE-LOCK.JSON ./PACKAGE-LOCK.JSON RUN NPM CI COPY . . 
EXPOSE 3000 CMD ["NPM", "START"] FROM DEVELOPMENT AS DEV-ENVSRUN <

7. 探索 Node 的優雅關閉選項

在 Docker 中為 Node.js 創建的臨時存儲空間。它們很容易預防、銷毀,然后更換或重新利用。可以通過向進程發出信號來終止容器SIGTERM。

為了充分利用這個短暫的機會窗口,您的應用程序必須能夠立即處理傳入的請求并釋放任何相關資源。

另一方面,Node.js 對于成功關閉應用程序至關重要,因為它接收并傳遞來自SIGINT操作系統SIGTERM的信號。由于 Node.js,您的應用程序可以選擇如何響應它接收到的信號。

如果你不為他們編程或使用一個模塊,你的應用程序將無法正常終止。但是,它將繼續正常運行,直到 Docker 或 Kubernetes 由于超時而終止它。

如果您無法修改應用程序的代碼,您仍然可以在 Dockerfile 中使用 docker run —init 或 tini init 選項。但是,建議您提供代碼來管理適當的信號處理以實現正常關閉。

結論

在本教程中,我們涵蓋了與 Docker 鏡像優化相關的廣泛主題,從構建可靠的 Dockerfile 到使用 Snyk 檢查漏洞。制作更好的 Node.js 應用程序并不難。如果你掌握了一些基本技能,你的狀態就會很好。

責任編輯:華軒 來源: 今日頭條
相關推薦

2023-03-24 15:57:31

Node.js應用程序容器

2020-09-04 15:06:04

Docker容器化Node.js

2013-05-17 09:41:02

Node.js云應用開發IaaS

2016-09-28 20:05:22

2011-12-16 14:45:36

JavaJSP

2011-05-30 13:37:46

JSP

2012-01-05 09:18:30

貨幣化移動應用

2022-10-27 08:09:33

2024-07-29 08:00:00

2023-04-18 15:57:30

2022-09-30 10:48:12

AR制造業

2015-11-20 17:09:36

jsWeb應用程序

2023-03-07 14:31:44

Node.jsPython應用程序

2022-09-12 16:02:32

Docker安全Node.js

2024-03-18 10:15:00

HTTPNode.jsAPI

2013-07-25 09:32:58

虛擬化數據丟失

2013-10-16 15:56:41

虛擬化數據丟失

2021-07-02 10:43:52

IT人才首席信息官人才招聘

2009-10-29 16:32:24

查看Oracle用戶的

2020-01-15 14:20:07

Node.js應用程序javascript
點贊
收藏

51CTO技術棧公眾號

久久视频中文字幕| 岛国av一区二区在线在线观看| 国产精品自产拍高潮在线观看| 国产一区二区三区视频播放| 国产剧情一区二区在线观看| 亚洲成人在线观看视频| 色一情一乱一伦一区二区三欧美 | 亚洲男人在线| 一级女性全黄久久生活片免费| 极品日韩久久| 涩涩视频在线观看| 黄色另类av| 国产亚洲精品91在线| 久久出品必属精品| 成人短视频app| 亚洲人成伊人成综合网小说| 久久99精品久久久久久久久久 | 亚洲影院一区| 久久精品小视频| 一区二区视频观看| 高清国产一区二区三区四区五区| 午夜精品在线视频一区| 一级特黄录像免费播放全99| 婷婷色在线视频| 久久99精品国产麻豆不卡| 91国产中文字幕| 国精品无码一区二区三区| 久久91精品| 精品日韩一区二区三区免费视频| 天天碰免费视频| 成人女同在线观看| 在线看片一区| 成人网页在线观看| 国产精品美女无圣光视频| 久久久久久久福利| 国产精品成人一区二区不卡| 日韩精品黄色网| 日本人dh亚洲人ⅹxx| 国产精品久久久久77777丨| 欧美日韩性视频在线| 国产精品自拍合集| 巨大荫蒂视频欧美另类大| 久久久久国产精品麻豆ai换脸| 99在线观看视频| 国产精品久久久久久久久毛片| 日本亚洲天堂网| 秋霞午夜一区二区| 国产综合精品视频| 亚洲精品社区| 午夜伦理精品一区| 久久精品亚洲无码| 国产精品porn| 欧美精品一区二区免费| 18岁成人毛片| 中国成人一区| 欧美多人爱爱视频网站| 深夜福利影院在线观看| 久久在线视频| 最新的欧美黄色| 五月天免费网站| 99久久www免费| 91嫩草亚洲精品| 欧美三级视频在线| 九色porny91| www成人在线视频| 日本大香伊一区二区三区| 久久国产乱子伦免费精品| 手机在线理论片| 色94色欧美sute亚洲线路一久| 黄在线观看免费网站ktv| 天堂久久午夜av| 欧美午夜电影在线| 情侣黄网站免费看| 青青热久免费精品视频在线18| 在线观看国产日韩| 亚洲一区二区在线视频观看| 高清一区二区三区av| 日韩精品一区二区三区视频在线观看 | 精品国产乱码久久久久久1区2匹| 亚洲色图15p| 开心激情五月网| 欧美日韩国产高清| 777午夜精品福利在线观看| 久久久久在线视频| 久久国内精品视频| av免费观看久久| 飘雪影院手机免费高清版在线观看| 一级黄色大片免费| 99成人在线| 热99在线视频| 一级黄色短视频| 成人a免费在线看| 欧美午夜欧美| 成人看av片| 欧美日韩一区二区精品| 色91精品久久久久久久久| 亚洲精品在线播放| 亚洲人成网站色ww在线| 国产美女久久久久久| 在线观看日韩av电影| 国产精品视频播放| 成人免费一级视频| 国产欧美日韩精品a在线观看| 三级在线免费观看| 成人免费无遮挡| 91精品视频网| 亚洲熟妇无码av| 欧美不卡一区| 国产成人高潮免费观看精品| 国产sm主人调教女m视频| 久久亚洲免费视频| 超碰人人爱人人| 欧美大片1688网站| 亚洲精品国产精品自产a区红杏吧| 精品少妇一区二区三区密爱| 艳妇荡乳欲伦69影片| 91综合久久一区二区| 国内精品小视频在线观看| 在线播放精品视频| 91色在线porny| 国产盗摄视频在线观看| 国产私拍福利精品视频二区| 亚洲白虎美女被爆操| 精品手机在线视频| 亚洲欧美激情诱惑| 99视频免费观看| 精品国产99久久久久久| 色综合夜色一区| 国产视频久久久久久| 欧美激情第二页| 国产日韩亚洲欧美| 黄色片在线免费观看| 五月婷婷久久丁香| 可以看的av网址| 香蕉精品视频在线观看| 国产美女被下药99| 成人在线免费公开观看视频| 日韩人体视频一二区| 亚洲第一区第二区| 国产午夜在线一区二区三区| 91成人免费| 成人福利网站在线观看| 69视频在线观看| 欧美在线免费观看视频| 熟女俱乐部一区二区视频在线| 亚洲激情另类| 国产精品我不卡| 青草视频在线免费直播| 日韩丝袜美女视频| 男的操女的网站| 国产一区久久久| 日本丰满大乳奶| 久久视频社区| 欧美成人四级hd版| 99久久久久成人国产免费| 亚洲欧洲美洲综合色网| theporn国产精品| 91精品久久久久久久久久不卡| 成人精品一区二区三区电影黑人| 日本暖暖在线视频| 91精品国产入口| 久久国产精品二区| 不卡的av电影| aaa毛片在线观看| 免费av一区二区三区四区| 国产精品美女免费| 免费在线观看av| 日韩午夜av一区| 国产一卡二卡在线| 久久理论电影网| 一路向西2在线观看| 国产大片一区| av资源一区二区| 老色鬼在线视频| jizz性欧美23| 午夜精品视频网站| 国内精品在线视频| 欧美日韩视频在线第一区| 婷婷社区五月天| 国产一区二三区好的| 免费超爽大片黄| 你懂的视频欧美| 成人高清视频观看www| 亚洲精品天堂| 日韩精品中文字幕在线| 国产精品无码一区| 一区二区三区在线观看国产| 精品人妻一区二区免费视频| 人人超碰91尤物精品国产| 99久re热视频精品98| 欧美一区 二区| 国产精品一二区| 日本h片在线观看| 亚洲欧美国产精品| 国产99久一区二区三区a片| 亚洲动漫第一页| 九九热免费在线| 国产91富婆露脸刺激对白| 欧洲av无码放荡人妇网站| 婷婷成人基地| 久久天堂国产精品| 精品国产一区二| 欧美亚洲另类在线| av免费网站在线| 国产精品1luya在线播放| 欧美一级免费看| 国产传媒在线播放| 亚洲人a成www在线影院| 亚洲第一成年人网站| 在线观看91精品国产入口| 久久久久久久久久久久久久免费看 | 国内精品国产成人国产三级| 欧美日韩中文字幕在线视频| 国产精品久久久久久久精| 久久精品视频在线免费观看| 日韩精品――色哟哟| 奇米影视一区二区三区小说| 国产 日韩 欧美在线| 91成人观看| 天堂av一区二区| 台湾亚洲精品一区二区tv| 97av自拍| 精品久久亚洲| 国产精品视频久久| 在线天堂新版最新版在线8| 欧美激情久久久久久| 天堂аⅴ在线地址8| 亚洲天堂av电影| 亚洲欧美日韩动漫| 美国成人xxx| 久久免费福利视频| 在线电影福利片| 久久精视频免费在线久久完整在线看| 日本ー区在线视频| 亚洲第一男人天堂| 免费看av毛片| 精品久久久久久亚洲综合网| 国产女人18毛片18精品| 欧美日韩夫妻久久| 中文字幕视频一区二区| 日本高清不卡视频| 中文人妻av久久人妻18| 欧美性开放视频| 中文字幕视频网| 精品久久久久久国产91| 懂色av.com| 天涯成人国产亚洲精品一区av| 国产精品19乱码一区二区三区| 一区二区在线观看视频在线观看| 在线免费观看亚洲视频| 一二三四区精品视频| 欧美三根一起进三p| 亚洲主播在线观看| 久久黄色免费网站| 午夜视频一区二区三区| 亚洲国产精一区二区三区性色| 亚洲午夜精品17c| 免费一区二区三区| 久久手机免费观看| 亚洲一区二区精品| 成人福利在线| www.日韩av.com| 动漫一区在线| 久久99亚洲精品| 91视频欧美| 热99在线视频| 激情亚洲影院在线观看| 国产精品久久久久免费a∨| 国产91亚洲精品久久久| 91老司机在线| 红杏一区二区三区| 欧美精品在线一区| 久久在线免费| 日韩欧美精品免费| 亚洲专区一区二区三区| 爆乳熟妇一区二区三区霸乳| 激情综合色综合久久| 国产大学生av| 91碰在线视频| 69夜色精品国产69乱| 亚洲一区二区偷拍精品| 青青草免费观看视频| 欧美性高清videossexo| 国产伦理一区二区| 亚洲成人久久网| 国产精品久久久久一区二区国产| 日韩视频欧美视频| wwwww亚洲| 国产精品久久久久久久久久| 美女精品视频在线| 欧美成人蜜桃| 外国成人激情视频| 熟女少妇在线视频播放| 日本不卡在线视频| 特级特黄刘亦菲aaa级| 国产偷国产偷亚洲高清人白洁| 国产性生活大片| 欧美日韩国产在线播放| 国产精品国产av| 日韩av中文字幕在线播放| 麻豆电影在线播放| 欧美在线视频a| 国产精品亚洲综合在线观看| 免费av在线一区二区| 99免费精品| 国内外免费激情视频| 高清视频一区二区| 国产欧美一区二区三区在线观看视频| 亚洲综合免费观看高清完整版| 国产又粗又猛又黄视频| 欧美videos中文字幕| 幼a在线观看| 国产91精品在线观看| 成人免费观看视频在线观看| 国产一区二区三区四区五区美女| 国产交换配乱淫视频免费| 亚洲精品高清在线观看| 国产成人精品一区二区色戒| 亚洲国产精品久久91精品| 久操视频在线| 国产精品久久久久久久久影视 | 美国黑人一级大黄| 欧美日韩精品在线播放| 亚洲精品一区二区三区新线路| 在线观看中文字幕亚洲| 在线观看v片| 国产一区二区在线观看免费播放| 中文字幕亚洲精品乱码| 久久人人爽av| 国产欧美一区二区精品性色| 欧美a∨亚洲欧美亚洲| 亚洲国产精品久久久| 超碰中文在线| 99影视tv| 黑丝一区二区三区| 亚洲熟妇一区二区| 日韩一区中文字幕| 亚洲一级视频在线观看| 一区二区三区亚洲| 台湾成人免费视频| 日韩福利二区| 日韩国产成人精品| 熟女高潮一区二区三区| 欧美午夜无遮挡| 视频福利在线| 2020久久国产精品| 欧美日韩看看2015永久免费| 免费看黄色a级片| 国产一区二区久久| 少妇影院在线观看| 欧美一级免费大片| 欧美日韩色网| 成人免费视频视频在| 国产主播一区| 蜜臀av粉嫩av懂色av| 午夜不卡在线视频| 全部免费毛片在线播放网站| 91国语精品自产拍在线观看性色 | 日韩三级在线观看| 中文字幕中文字幕在线十八区| 亚洲综合精品一区二区| 欧美日韩网站| 好男人香蕉影院| 色婷婷一区二区| 北条麻妃在线| 国产成人av一区二区三区在线| 26uuu成人网| 欧美成人乱码一区二区三区| 丰满的护士2在线观看高清| 国产一区免费| 久久婷婷av| 欧美一区二区三区爽爽爽| 精品欧美一区二区久久| 亚洲v.com| 五码日韩精品一区二区三区视频| 久久av中文字幕片| 久久久无码精品亚洲国产| 亚洲精品电影久久久| 欧美日韩亚洲国产| 亚洲最新免费视频| 成人教育av在线| av片免费观看| 欧美精品在线看| 色吊丝一区二区| 中文字幕22页| 亚洲福利一区二区| www.成人.com| www日韩av| 日韩经典中文字幕一区| 精品人妻伦九区久久aaa片| 亚洲黄色有码视频| 视频精品导航| 成人免费观看cn| 国产精品免费视频一区| 亚洲精品一区二区三区四区| 国产成人一区二| 黄色成人精品网站| a级在线免费观看| 欧美精品一区二区三区四区| 国产福利亚洲|