自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Docker使用過程中需要留意的幾個知識點

云計算 云原生
Docker使用過程中需要留意的幾個知識點都有哪些呢?我們一起來了解一下吧!

使用官方的基礎鏡像來構建應用

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

指定鏡像的版本

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

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

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

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

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

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

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

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

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

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

學會使用.dockerignore 文件

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

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

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

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

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

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

使用最小權限用戶

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

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

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

掃描鏡像是否有安全問題

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

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

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


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

2016-03-23 11:03:40

2010-06-07 16:51:06

rsync 使用

2019-12-03 08:13:06

BDRDR路由器

2011-04-13 13:54:03

HttpClient

2024-09-09 08:02:27

2009-12-29 14:14:22

2020-07-29 08:03:26

Celery異步項目

2012-04-23 15:49:04

2009-11-02 08:56:17

2011-03-04 13:49:38

FileZilla

2009-04-01 11:39:39

視圖DB2

2010-07-27 13:25:10

IBM DB2

2011-04-01 15:28:40

Zabbix配置安裝

2010-07-12 13:00:49

UML建模

2010-07-15 14:47:05

Perl開發(fā)

2012-07-26 10:10:27

虛擬化安全網(wǎng)絡安全

2010-08-30 19:42:45

DHCP服務器

2021-06-11 11:42:57

Swift 函數(shù)生成器結果生成器

2012-07-27 10:01:13

虛擬化

2022-08-03 08:03:03

前端APIjavascript
點贊
收藏

51CTO技術棧公眾號