日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Docker使用過程中需要留意的幾個(gè)知識點(diǎn)

docker使用過程中需要留意的幾個(gè)知識點(diǎn)

作者:夢回故里歸來 2022-02-07 00:10:28

云計(jì)算

云原生 Docker使用過程中需要留意的幾個(gè)知識點(diǎn)都有哪些呢?我們一起來了解一下吧!

使用官方的基礎(chǔ)鏡像來構(gòu)建應(yīng)用

不要使用從整個(gè)操作系統(tǒng)從頭安裝的模式來構(gòu)建應(yīng)用,比如我們使用node環(huán)境的時(shí)候,我們應(yīng)該直接使用node鏡像,而不是使用centos或者ubuntu鏡像,然后自己安裝node環(huán)境。

指定鏡像的版本

如果我們不指定進(jìn)行的版本的話,它默認(rèn)采用的就是最新版本,這樣的每次構(gòu)建的時(shí)候,可能會導(dǎo)致和之前的版本不一致,所以對此才去的方法就是采用指定版本,這樣每次構(gòu)建的版本都是統(tǒng)一的。

使用最小化的操作系統(tǒng)

linux的操作系統(tǒng)有很多版本,比如centos或者ubuntu等等,但是它們對于我們的應(yīng)用來說都顯得太大,太臃腫,因此我們推薦采用更小的系統(tǒng),比如alpine等。

優(yōu)化鏡像層的緩存

在Dockerfile中找到的每個(gè)命令都會在創(chuàng)建一個(gè)新層。每一層都包含對執(zhí)行命令之前的狀態(tài)和執(zhí)行命令之后的狀態(tài)的映像的文件系統(tǒng)更改。

RUN命令允許您在 Docker 映像中執(zhí)行命令。如果該RUN命令生成的圖層已經(jīng)存在于緩存中,則該RUN 命令只能執(zhí)行一次。

Dockerfile中的COPY命令允許您將一個(gè)或多個(gè)外部文件導(dǎo)入 Docker 映像。執(zhí)行時(shí),這些COPY命令可確保您擁有所有相關(guān)外部文件的最新版本。

如果第一個(gè)COPY命令上的所有外部文件的內(nèi)容都相同,將使用層緩存,并且所有后續(xù)命令直到下一個(gè)ADD或COPY命令將使用層緩存。

但是,如果一個(gè)或多個(gè)外部文件的內(nèi)容不同,那么 所有后續(xù)命令都將在不使用層緩存的情況下執(zhí)行。

為了利用 Docker 的層緩存,您應(yīng)該 Dockerfile以一種經(jīng)常更改的步驟(例如COPY位于Dockerfile文件末尾附近)的方式來構(gòu)建您的結(jié)構(gòu)。這將確保不會不必要地重建與執(zhí)行相同操作有關(guān)的步驟。

學(xué)會使用.dockerignore 文件

使用 .dockerignore 有很多優(yōu)勢。它可以幫助減少 Docker 鏡像大小、加速docker build并避免意外密碼的泄露.

Docker 是一個(gè)客戶端-服務(wù)器應(yīng)用程序,它由 Docker 客戶端和 Docker 服務(wù)器(也稱為 Docker 守護(hù)進(jìn)程)組成。Docker 客戶端命令行工具與 Docker 服務(wù)器對話并要求它做事。其中之一是 Docker build:構(gòu)建一個(gè)新的 Docker 映像。Docker 服務(wù)器可以與客戶端運(yùn)行在同一臺機(jī)器上,也可以在虛擬機(jī)中運(yùn)行,也可以是本地、遠(yuǎn)程或云中的。

為了創(chuàng)建一個(gè)新的 Docker 鏡像,Docker 服務(wù)器需要訪問文件,你想從中創(chuàng)建 Docker 鏡像。因此,您需要以某種方式將這些文件發(fā)送到 Docker 服務(wù)器(因?yàn)橛涀?Docker 服務(wù)器可以是另一臺遠(yuǎn)程機(jī)器)。這些文件是 Docker構(gòu)建上下文。Docker 客戶端將所有構(gòu)建上下文文件打包到一個(gè)tar存檔中,并將此存檔上傳到 Docker 服務(wù)器。默認(rèn)情況下,客戶端將獲取當(dāng)前工作目錄中的所有文件(和文件夾)并將它們用作構(gòu)建上下文。

.dockerignore文件是工具,它可以幫助您定義您真正需要的 Docker構(gòu)建上下文。使用此文件,您可以為文件和文件夾指定這些規(guī)則的忽略規(guī)則和例外,它們不會包含在構(gòu)建上下文中,因此不會打包到存檔中并上傳到 Docker 服務(wù)器。

使用多步構(gòu)建工具,構(gòu)建和運(yùn)行所需要的環(huán)境不同

通過多階段構(gòu)建,您可以在 Dockerfile 中使用多個(gè)FROM語句。每條FROM指令都可以使用不同的基礎(chǔ)鏡像,它們中的每一條都開始了構(gòu)建的新階段。您可以選擇性地將文件從一個(gè)階段復(fù)制到另一個(gè)階段,從而在其中留下您不想要的一切。

使用最小權(quán)限用戶

如果 Dockerfile 中沒有指定 USER ,Docker 默認(rèn)將會以超級用戶 root 的身份運(yùn)行容器,容器所屬的命名空間(namespace)因此鏡像為 root 用戶所擁有,這意味著容器有可能獲取 Docker 宿主系統(tǒng)的超級管理權(quán)限。不僅如此,以 root 用戶身份運(yùn)行容器,還擴(kuò)大了攻擊面,如果容器應(yīng)用中存在安全漏洞,很容易造成權(quán)限提升。

在實(shí)踐中,一般不需要容器擁有 root 權(quán)限。為了盡量降低安全威脅,創(chuàng)建專門的用戶和用戶組,在 Dockerfile 中使用 USER 指定用戶,確保以最小權(quán)限的用戶身份運(yùn)行容器應(yīng)用。

如果基礎(chǔ)鏡像中不包含專門的用戶,那么就在 Dockerfile 中直接創(chuàng)建一個(gè)普通用戶。

掃描鏡像是否有安全問題

docker 本地鏡像的漏洞掃描允許開發(fā)人員和開發(fā)團(tuán)隊(duì)查看容器鏡像的安全狀態(tài),并采取措施修復(fù)掃描期間發(fā)現(xiàn)的問題,從而實(shí)現(xiàn)更安全的部署。Docker Scan 在 Snyk 引擎上運(yùn)行,為用戶提供對其本地 Dockerfile 和本地映像的安全狀況的可見性。

用戶通過 CLI 觸發(fā)漏洞掃描,并使用 CLI 查看掃描結(jié)果。掃描結(jié)果包含常見漏洞和暴露 (CVE) 列表、源(例如操作系統(tǒng)包和庫)、引入它們的版本以及用于修復(fù)發(fā)現(xiàn)的 CVE 的推薦修復(fù)版本(如果可用).

通常,鏡像掃描通過解析容器鏡像文件中定義的包或其他依賴項(xiàng)來工作,然后檢查這些包或依賴項(xiàng)中是否存在任何已知漏洞。


分享名稱:Docker使用過程中需要留意的幾個(gè)知識點(diǎn)
網(wǎng)頁URL:http://m.5511xx.com/article/djcddpc.html