精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

91成人在线网站| 欧美一级在线免费观看 | 亚洲国产成人91精品| 国产91在线免费| 成人精品福利| 国产精品一二二区| 日韩美女毛茸茸| 日韩视频中文字幕在线观看| 日韩在线黄色| 日韩午夜在线观看视频| 欧美日韩第二页| a免费在线观看| 久久新电视剧免费观看| 亚洲aa中文字幕| 欧美brazzers| 亚洲午夜av| 精品国产一区二区三区在线观看 | 最新中文字幕第一页| 影音先锋一区| 美日韩精品免费视频| 亚洲色成人网站www永久四虎| 视频一区视频二区欧美| 欧美日韩在线播放| 成年网站在线免费观看| 成人超碰在线| 一区二区三区中文字幕精品精品| 日本在线成人一区二区| 网站黄在线观看| 国产成人av电影| 成人国产精品日本在线| 天天综合久久综合| 成人va天堂| 精品日产免费二区日产免费二区| 在线成人av影院| 日韩一级理论片| 成人勉费视频| 动漫精品一区二区| 黄色一级在线视频| 97天天综合网| 亚洲国产aⅴ成人精品无吗| dy888午夜| a级片国产精品自在拍在线播放| 国产亚洲欧美在线| 日韩av在线一区二区三区| 理论视频在线| 国产午夜精品久久久久久免费视 | 天堂av手机版| 不卡在线视频中文字幕| 国产精品播放| 日本免费不卡视频| 99精品国产视频| 久久99精品久久久久子伦| 色综合免费视频| 99久久伊人网影院| 欧美日韩国产一二| 国产免费a∨片在线观看不卡| 国产亚洲一区二区在线观看| 日本一区二区三区视频在线播放| 毛片在线免费| 国产欧美日韩精品一区| 亚洲精品二区| 精品国产99久久久久久| 亚洲黄色性网站| 丁香六月激情网| 日本不良网站在线观看| 色婷婷综合五月| 一区二区成人网| 天天综合在线观看| 日韩免费电影一区| 艳妇乳肉亭妇荡乳av| 精品久久久中文字幕| 最近2019年好看中文字幕视频| 日韩av网站在线播放| 欧美在线首页| 欧美中文在线观看国产| 最近中文字幕在线免费观看| 国产一区二区免费在线| 先锋影音久久| 欧美第一黄网免费网站| 精品国产免费观看| 日韩中文字幕91| 成人精品视频99在线观看免费| av中文字幕在线免费观看| 成a人片国产精品| 日韩欧美手机在线| 色帝国亚洲欧美在线| 色综合中文综合网| 欧美专区第二页| 亚洲宅男一区| 不卡伊人av在线播放| 在线观看日本视频| 激情成人综合网| 久久九九视频| 久久综合之合合综合久久| 天天综合色天天| 日韩一区二区三区不卡视频| 成人高潮a毛片免费观看网站| 亚洲精品小视频在线观看| 情侣偷拍对白清晰饥渴难耐| 99热精品在线观看| 91美女福利视频高清| 亚洲欧美色视频| 一区二区三区在线观看欧美| 日韩福利视频在线| 99久久人爽人人添人人澡| 一区二区三区天堂av| 久久久久久久国产精品毛片| 蜜臀av一区二区| 久久99久久精品国产| 大地资源网3页在线观看| 91国产福利在线| 中国特级黄色大片| 91精品蜜臀一区二区三区在线| 欧美在线欧美在线| 亚洲精品久久久狠狠狠爱| 国产精品卡一卡二卡三| av天堂永久资源网| 国产成人一二片| 欧美日韩ab片| 97人妻精品一区二区三区| 久久久www免费人成精品| 成人免费在线网| 午夜日韩影院| 久久中文精品视频| 亚洲图片在线播放| 国产女主播视频一区二区| 国产精品五月天| 日韩精品一区二区三区色偷偷| 91高清视频在线观看| 91精品国产福利在线观看| 国产又粗又猛又爽又黄的视频四季| 亚洲综合不卡| 久久99国产精品| 第一福利在线视频| 亚洲成色777777在线观看影院| 欧美精品一区二区成人| 国产一区二区三区精品视频| 免费观看黄色大片| 日韩久久99| www.亚洲天堂| 国产精品主播一区二区| 综合在线观看色| 色婷婷.com| 999视频精品| 成人欧美一区二区三区黑人孕妇| yiren22综合网成人| 在线观看免费亚洲| 成人小视频免费看| 麻豆91精品91久久久的内涵| 新呦u视频一区二区| 国产亚洲精彩久久| 日韩在线观看免费高清完整版| 91av久久久| 亚洲欧美国产毛片在线| 黄页网站在线看| 激情久久一区| 精品亚洲第一| 亚洲第一会所| 久久久精品久久| 亚洲av无码片一区二区三区 | 亚洲人成电影网站色…| 波多野结衣视频观看| 国产精品视频一区二区三区不卡| 少妇一级淫免费播放| 这里只有精品在线| 久久爱av电影| 日韩欧美精品一区二区综合视频| 少妇av一区二区三区| 精品免费久久久| 亚瑟在线精品视频| av手机在线播放| 国产乱人伦偷精品视频不卡| 夜夜添无码一区二区三区| 亚洲人成伊人成综合图片| 国产精品极品美女在线观看免费 | 成人看片爽爽爽| 九色精品美女在线| 全部免费毛片在线播放网站| 欧美日韩三级在线| 久草成人在线视频| 久久一区二区视频| 香蕉视频禁止18| 欧美午夜不卡影院在线观看完整版免费| 国产日韩精品推荐| 欧美成人毛片| 久久久之久亚州精品露出| 成人在线二区| 精品国产制服丝袜高跟| 国产精品无码粉嫩小泬| 一区二区三区四区在线播放| 亚洲成人日韩在线| 国产一区中文字幕| 国产91在线免费| 91精品国产成人观看| 久久久久久久久一区二区| 99精品国产九九国产精品| 91精品国产高清久久久久久| 黄色网在线播放| 亚洲欧美日韩中文在线制服| 亚洲av永久无码国产精品久久| 91福利视频久久久久| 精品亚洲永久免费| 中文字幕亚洲视频| 国产一级二级视频| 国产麻豆日韩欧美久久| av无码精品一区二区三区| 激情欧美一区| 亚洲精品偷拍视频| 精品福利久久久| 久久国产日韩欧美| 亚洲一区二区免费在线观看| 国产精品专区一| 小h片在线观看| 久久久中精品2020中文| 69xxx在线| 日韩中文有码在线视频| 国产三级视频在线看| 亚洲国产日韩精品在线| а√中文在线资源库| 欧美日韩精品一区二区在线播放| 精品免费囯产一区二区三区| 亚洲国产精品一区二区尤物区| 亚洲一级二级片| 中文字幕一区av| 蜜桃av免费观看| 日本一区二区成人| 国产综合精品在线| 久久欧美中文字幕| 国产伦精品一区二区免费| 国产成人在线电影| 国产又黄又嫩又滑又白| 国精品**一区二区三区在线蜜桃| 欧美丰满一区二区免费视频 | 国产午夜精品久久久久久久| 久久国产精品无码一级毛片| 波多野结衣中文字幕一区| 911亚洲精选| 国产69精品一区二区亚洲孕妇| 欧美视频亚洲图片| 国产精品一区二区久激情瑜伽| caoporm在线视频| 国产一区二区三区蝌蚪| 欧美xxxx黑人| 懂色中文一区二区在线播放| 麻豆免费在线观看视频| 白白色亚洲国产精品| 中国一级特黄录像播放| 91在线免费视频观看| 熟女俱乐部一区二区视频在线| 91麻豆视频网站| 在线不卡av电影| 中文字幕av免费专区久久| 妖精视频在线观看免费| 亚洲丝袜美腿综合| 久久久久免费看| 欧美日韩日本国产| 香蕉污视频在线观看| 欧美伊人久久久久久久久影院 | 男女啪啪免费观看| 伊人久久大香线蕉av超碰演员| 激情伊人五月天| 三级精品在线观看| 中文字幕线观看| 粉嫩欧美一区二区三区高清影视| 成年人的黄色片| 国产欧美日韩三级| 日韩欧美综合视频| 精品久久久国产| 中文字幕一区二区在线视频| 777久久久精品| 污视频在线免费| 国产香蕉精品视频一区二区三区| 麻豆91在线| 国内精品小视频| 精品久久在线| 国产精品加勒比| 欧美视频免费| 一二三四中文字幕| 老司机亚洲精品| 亚洲av无码久久精品色欲| 99国产精品久久| 在线日韩国产网站| 欧美日韩在线一区| 国产又大又黑又粗| 日韩精品中文字幕有码专区| 蜜桃视频在线观看免费视频网站www| 欧美精品久久一区二区 | 欧美色老头old∨ideo| 亚洲娇小娇小娇小| 日韩高清在线观看一区二区| 国产视频不卡| 欧美xxxx中国| 噜噜噜久久亚洲精品国产品麻豆| 久久国产精品色| 三叶草欧洲码在线| 亚洲精品国产视频| 中文字幕一区二区三区人妻四季| 亚洲国产天堂网精品网站| 色老头视频在线观看| 奇米成人av国产一区二区三区| 国产一区二区在线观| 亚洲成人在线视频网站| 日韩午夜在线| 911亚洲精选| 国产精品久久久久久久裸模| 女人十八岁毛片| 精品剧情在线观看| 超碰在线免费公开| 国产精品女主播视频| 色老板在线视频一区二区| a级免费在线观看| 精品无人区卡一卡二卡三乱码免费卡| 乐播av一区二区三区| 天天综合日日夜夜精品| 成 人 免费 黄 色| 久久伊人91精品综合网站| 美女色狠狠久久| 欧洲av一区| 香蕉亚洲视频| 中国av免费看| 亚洲成va人在线观看| 精品人妻无码一区二区色欲产成人 | 欧洲日本在线| 国产精品伦子伦免费视频| 亚洲涩涩av| 97超碰青青草| 91一区二区三区在线观看| 久久老司机精品视频| 日韩美一区二区三区| 欧美videossex| 91精品国自产在线观看| 午夜精品久久| 日本一二三四区视频| 亚洲精品一二三| 国产偷拍一区二区| 欧美猛男性生活免费| 久久伊人精品| 日本a在线天堂| 成人久久视频在线观看| 精品少妇一二三区| 亚洲国产成人久久综合一区| 爱看av在线入口| 一本大道av一区二区在线播放 | 成人性生交大片免费看中文视频| 公共露出暴露狂另类av| 国产在线精品一区二区夜色 | 中出一区二区| 亚洲性图第一页| 亚洲成a人片在线观看中文| 日批视频在线播放| 欧美性视频网站| 精品在线手机视频| 亚洲精品自拍网| 中文字幕亚洲一区二区av在线| 国产熟女一区二区三区四区| 欧美不卡视频一区发布| 精品中国亚洲| 国产真实乱子伦| 国产精品久久久久四虎| 国产免费叼嘿网站免费| 国内精品一区二区三区| 国产亚洲精品美女久久久久久久久久| 女性隐私黄www网站视频| 国产精品情趣视频| 国产99久一区二区三区a片 | 性欧美hd调教| 亚洲日本欧美在线| 福利视频网站一区二区三区| 天堂а√在线中文在线新版| 亚洲最大中文字幕| 精品一区二区三区中文字幕在线 | 亚洲高清不卡av| 成人va天堂| 国产av熟女一区二区三区 | 精品国产一区二区国模嫣然| 亚洲精品永久免费视频| 在线视频不卡国产| 懂色av中文字幕一区二区三区 | 91精品国产综合久久久久久漫画| 超碰在线观看免费| 国产主播一区二区三区四区| 日韩国产成人精品| 久久久久亚洲天堂| 中文字幕日韩免费视频| 国产精品一线| 岛国av免费在线| 欧美性xxxx极品hd欧美风情| 求av网址在线观看| 女同一区二区| 国产不卡高清在线观看视频| 中文字幕一区二区三区四区欧美| 欧美国产日本在线| 色喇叭免费久久综合网| 亚洲av无码一区二区三区观看| 欧美视频精品在线观看| 9999精品成人免费毛片在线看 | 亚洲激情综合| 国产一二三四区| 国产一区二区三区直播精品电影| 好吊妞视频这里有精品 |