Dockerfile
Dockerfile 是一個由 Command (命令) 和 Argument (參數選擇) 兩大元素組成,然後可以用來生成新的映像檔。
映像檔 (Image)
映像檔是創建容器的模板,映像檔包含了開發者需要部署的應用程式、作業系統和編譯環境。開發者能透過映像檔建置不同的容器,在容器中,每個應用程式都是獨立運行的,彼此互不影響。

Image 獲取方式
連網
- 從遠端倉庫(docker registry)拉取 (預設倉庫為 docker hub)
- 從 dockerfile 建構 (軟體要下載之類的需要網路)
離線
- 從文件載入
容器 (Container):
容器是映像檔建立出來的實例(Instance),我們能將它比喻為一個輕量級的沙盒,Docker 利用容器運行和隔離應用程式,能夠在容器中將應用程式啟動、開始、停止、刪除。由於映像檔是唯讀(Read Only)的模板,因此容器在運行後映像檔的上層會增加一個能夠修改的讀寫層(Read and Write),而映像檔本身則不變。

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