▪️Docker - 架構
2023-5-17
| 2025-3-19
字數 655閱讀時間 2 分鐘

Dockerfile

Dockerfile 是一個由 Command (命令) 和 Argument (參數選擇) 兩大元素組成,然後可以用來生成新的映像檔。
 

映像檔 (Image)

映像檔是創建容器的模板,映像檔包含了開發者需要部署的應用程式、作業系統和編譯環境。開發者能透過映像檔建置不同的容器,在容器中,每個應用程式都是獨立運行的,彼此互不影響。
notion image
Image 獲取方式
連網
  • 從遠端倉庫(docker registry)拉取 (預設倉庫為 docker hub)
  • 從 dockerfile 建構 (軟體要下載之類的需要網路)
離線
  • 從文件載入
 

容器 (Container):


容器是映像檔建立出來的實例(Instance),我們能將它比喻為一個輕量級的沙盒,Docker 利用容器運行和隔離應用程式,能夠在容器中將應用程式啟動、開始、停止、刪除。由於映像檔是唯讀(Read Only)的模板,因此容器在運行後映像檔的上層會增加一個能夠修改的讀寫層(Read and Write),而映像檔本身則不變。
notion image
 

資料卷 (volume)


Docker 資料卷(Volume)是一種持久化數據的機制,用於在容器和主機之間共享和保存數據。以下是資料卷的主要特點和用途:
  • 數據持久化:資料卷可以在容器被刪除後仍然保存數據,確保重要資訊不會丟失。
  • 數據共享:多個容器可以共用同一個資料卷,方便數據交換和協作。
  • 獨立於容器生命週期:資料卷的生命週期獨立於容器,可以單獨管理和備份。
  • 性能優化:相比將數據存儲在容器的可寫層,使用資料卷通常能提供更好的 I/O 性能。
  • 靈活性:可以在運行容器時動態掛載資料卷,無需重新構建映像檔。
使用資料卷可以有效解決容器數據持久化和共享的問題,是 Docker 中管理數據的重要工具。
 

倉庫 (Repository)


Repository 是儲存映像檔的地方,使用者可以將自己完成的映像檔上傳至倉庫上儲存,倉庫上也有許多現成的映像檔供用戶存取,倉儲的種類被分為公開與私人兩種。
  • Docker
  • Docker 基本指令Docker 基本概念
    Loading...