Docker 硬化映象的可用型別

Docker 硬化映象(DHI)是一個綜合的安全硬化容器映象目錄,旨在滿足不同的開發和生產需求。

框架和應用程式映象

DHI 包含一系列流行的框架和應用程式映象,每個映象都經過硬化和維護,以確保安全性和合規性。這些映象可以無縫整合到現有工作流程中,讓開發人員可以專注於構建應用程式,而無需在安全性上妥協。

例如,你可能會在 DHI 目錄中找到以下倉庫:

  • node:Node.js 應用程式框架
  • python:Python 應用程式框架
  • nginx:Web 伺服器映象

相容性選項

Docker 硬化映象提供不同的基礎映象選項,讓你能夠靈活選擇最適合你的環境和工作負載要求的映象。

  • 基於 Debian 的映象:如果你已經在基於 glibc 的環境中工作,這是一個不錯的選擇。Debian 廣泛使用,在許多語言生態系統和企業系統中提供強大的相容性。

  • 基於 Alpine 的映象:一個更小、更輕量級的選項,使用 musl libc。這些映象通常很小,因此拉取速度更快,佔用的空間更少。

每個映象透過移除不必要的元件(如 shell、包管理器和除錯工具)來維護一個最小且安全的執行時層。這有助於減少攻擊面,同時保持與常見執行時環境的相容性。

示例標籤包括:

  • 3.9.23-alpine3.21:適用於 Python 3.9.23 的基於 Alpine 的映象
  • 3.9.23-debian12:適用於 Python 3.9.23 的基於 Debian 的映象

如果你不確定如何選擇,請從你熟悉的基礎映象開始。Debian 通常提供最廣泛的相容性。

開發和執行時變體

為適應應用程式生命週期的不同階段,DHI 為所有語言框架映象和部分應用程式映象提供了兩種變體:

  • 開發(dev)映象:配備必要的開發工具和庫,這些映象有助於在安全環境中構建和測試應用程式。它們包含 shell、包管理器、root 使用者和開發所需的其他工具。

  • 執行時映象:剝離了開發工具,這些映象只包含執行應用程式所需的必要元件,確保生產環境中最小的攻擊面。

這種分離支援多階段構建,使開發人員能夠在安全的構建環境中編譯程式碼,並使用精簡的執行時映象進行部署。

例如,你可能會在 DHI 倉庫中找到以下標籤:

  • 3.9.23-debian12:Python 3.9.23 的執行時映象
  • 3.9.23-debian12-dev:Python 3.9.23 的開發映象

FIPS 變體

一些 Docker 硬化映象包含 -fips 變體。這些變體使用已透過 FIPS 140 驗證的加密模組,FIPS 140 是美國政府關於安全加密操作的標準。

FIPS 變體旨在幫助組織滿足在敏感或受監管環境中與加密使用相關的法規和合規性要求。

你可以透過包含 -fips 的標籤來識別 FIPS 變體。

例如:

  • 3.13-fips:Python 3.13 映象的 FIPS 變體
  • 3.9.23-debian12-fips:基於 Debian 的 Python 3.9.23 映象的 FIPS 變體

FIPS 變體可以像任何其他 Docker 硬化映象一樣使用,非常適合在受監管行業或需要加密驗證的合規性框架下運作的團隊。