成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

不可不知的七個Docker優秀實踐

譯文
開源
Docker是流行的容器化軟件,但不是每個人都在高效地使用它。如果您不遵循Docker的優秀實踐,您的應用程序就很容易受到安全問題或性能問題的影響。

譯者 | 布加迪

審校 | 重樓

Docker是流行的容器化軟件,但不是每個人都在高效地使用它。如果您不遵循Docker優秀實踐,您的應用程序就很容易受到安全問題或性能問題的影響

本文介紹了您可以用來高效地使用Docker功能的幾個最佳實踐。這些措施提高了安全性,并確保您創建易于維護Docker文件。

1.使用官方Docker鏡像

在容器化處理應用程序時,必須使用Docker鏡像。您可以使用自定義配置構建鏡像,也可以使用Docker的官方鏡像。

構建自己的鏡像需要您自處理所有配置。比如說Node.js應用程序構建鏡像,必須下載Node.js及其依賴項。這個過程很耗時,可能不會生成所有正確的配置。

Docker建議您使用官方的Node.js鏡像,它包含所有正確的依賴項。Docker鏡像有更好的安全措施,具有輕量級的優點,并針對各種環境進行了測試。你可以在Docker的官方鏡像頁面找到官方鏡像

2.使用Docker鏡像的特定版本

當您拉官方鏡像時,它通常帶有最新標簽,代表該鏡像的最新更新版。每當使用鏡像構建容器,它都是上一個容器的不同版本。

使用不同Docker鏡像版本進行構建可能導致應用程序出現不可預測的行為。版本可能會與其他依賴沖突,最終導致應用程序失敗。

Docker建議您使用特定版本的鏡像進行拉取和構建。官方鏡像也有說明文檔,介紹了最常見的用例。

比如說,使用docker pull alpine:3.18.3,而不是docker pull alpineDocker將提取該特定版本。然后,您可以在后續構建中使用它,從而減少應用程序中的錯誤。您可以在Docker官方鏡像頁面的Supported標簽和相應的Dockerfile鏈接下找到鏡像的特定版本

3.掃描鏡像以查找安全漏洞

如何確定要構建的鏡像沒有安全漏洞掃描就行可以使用Docker scan命令掃描Docker鏡像。語法如下

docker scan [IMAGE]

您必須先登錄到Docker才能掃描鏡像。

docker login

然后,掃描您想要檢查的特定鏡像

docker scan ubuntu: latest

一種名為Synk的工具可以掃描鏡像,根據嚴重程度列出任何漏洞。您可以看到漏洞的類型和指向相關信息的鏈接包括如何修復它。您可以從掃描結果中判斷鏡像對您的應用程序而言是否足夠安全。

4.使用小型Docker鏡像

當您取Docker鏡像時,它附帶所有系統實用程序。這增加了不需要的工具的鏡像大小。

大型Docker鏡像占用存儲空間,并且減慢容器的運行速度。它們存在安全漏洞的可能性也更大

您可以使用Alpine鏡像減小Docker鏡像的大小。Alpine鏡像是輕量級的,只附帶必要的工具。它們減少了存儲空間,使應用程序運行起來更快速、更高效。

可以在Docker上找到大多數官方鏡像的Alpine版本。下面是PostgreSQL的Alpine版本的示例:

5.優化緩存鏡像層

Dockerfile中的每個命令代表鏡像上的一個層。這些層有不同的實用程序并執行不同的功能。如果您查看Docker Hub上的官方鏡像,將看到用于創建它們的說明。

Dockerfile包含創建鏡像所需的全部內容。這就是為什么許多開發人員青睞Docker而不是虛擬機的原因之一。

下面是示例Alpine鏡像的結構

當您構建基于鏡像的應用程序時,實際上鏡像添加更多的層。Docker從上到下在Dockerfile上運行指令,如果一個層發生了變化,Docker必須重建后續的層。

最佳實踐是將您的Dockerfile按照更改最少的文件更改最頻繁的文件這個順序排列。不會改變的指令比如安裝可以放在文件的頂部。

當您修改一個文件時,Docker根據修改后的文件進行構建,并在上面緩存未修改的文件。因此,流程運行速度更快。

請看上圖所示的例子。如果應用程序文件發生了變化,Docker將從那里構建沒必要再次安裝NPM包。

如果從鏡像構建,該過程將比從頭重建所有其他層運行得更快。緩存加快了從Docker Hub取和推送鏡像的速度。

6.使用.dockerignore文件

在使用Dockerfile構建鏡像時,您可能希望保留某些信息的私密性。些文件和文件夾可能是項目的一部分,但您不希望將它們包含在構建過程中。

使用.dockerignore文件可以大大減小鏡像大小。這是由于構建過程只包含必要的文件。它還有助于保持文件的私密性,避免暴露密鑰或密碼。

.dockerignore文件是您在與Dockerfile相同的文件夾中創建的一個文件。它是一個文本文件,酷似.gitignore文件,含有您不希望在構建過程中包含的任何文件的名稱。

這里有一個例子

7.使用最小權限用戶原則

默認情況下,Docker使用root用戶作為管理員以便獲得運行命令的權限,但這種做法不好。如果其中一個容器存在漏洞,黑客就可以訪問Docker主機。

了避免這種情況,創建專用的用戶和用戶組。您可以為用戶組設置相應的權限,以保護敏感信息。如果用戶受到危及,您可以在不暴露整個項目的情況下刪除該用戶

下面這個例子展示了如何創建用戶并設置權限

些基本鏡像在其中創建了偽用戶。您可以使用已安裝的用戶而不是root用戶權限。

最佳實踐是減少漏洞和編寫更簡潔代碼的好方法。您可以將許多最佳實踐應用于使用的每Docker特性。

一個組織良好的項目可以更容易與Kubernetes等其他編排工具進行同步。您可以從本文中概述的這些方法入手在學習Docker的過程中采用更多方法。

原文標題:8 Docker Best Practices You Should Know About,作者:Sandra Dindi

責任編輯:華軒 來源: 51CTO
相關推薦

2023-11-13 14:19:57

Golang編程語言

2023-06-15 11:01:43

Java工具開源

2023-06-26 14:11:06

SQLC++語言

2023-09-08 10:23:13

JavaScriptNPM模塊

2023-10-17 18:03:30

Code更改函數

2021-12-30 10:54:53

Hive調優實踐

2024-03-21 08:57:39

語言軟件開發

2010-06-11 14:46:38

可路由協議

2023-09-22 12:14:33

2021-08-12 16:02:22

Jupyter NotPython命令

2020-11-30 13:12:04

Linux文本命令

2015-01-15 09:34:28

2009-06-10 09:08:13

WCF變更處理契約

2010-12-17 11:22:11

職場

2015-06-10 10:56:50

iOS開發技巧

2015-07-28 16:48:04

云計算性能測試云服務

2024-09-23 21:05:45

2020-11-11 21:27:55

緩沖文件調用

2010-04-16 17:09:18

Oracle查看鎖

2025-01-03 17:10:54

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美三区视频 | 成人黄色电影免费 | 中文福利视频 | 91精品国产综合久久久久久蜜臀 | 亚洲欧美日韩精品久久亚洲区 | 日韩高清中文字幕 | 国产日韩精品在线 | 日韩在线免费播放 | 黄色免费网站在线看 | 亚洲第一视频 | 欧美在线亚洲 | 欧美二区在线 | 成人无遮挡毛片免费看 | 天天操天天射天天舔 | 婷婷一级片 | 天天av天天好逼 | 成人国产精品久久久 | 欧美一区二区久久 | 少妇一级淫片免费放播放 | 九九久久精品 | 亚洲毛片一区二区 | 亚洲欧美一区在线 | 成人啊啊啊 | 久久尤物免费一区二区三区 | 亚洲九九精品 | 91久久久久久久久久久 | 最新国产福利在线 | 欧美精品二区 | 日韩视频在线免费观看 | 在线亚洲欧美 | 天堂网中文字幕在线观看 | 男人的天堂在线视频 | 久久久久中文字幕 | 国精产品一区二区三区 | 色噜噜狠狠色综合中国 | 久久久.com| 亚洲一级在线 | 日韩高清一区 | 日本不卡一区二区三区 | 欧美一级片免费看 | 黑人精品欧美一区二区蜜桃 |