> For the complete documentation index, see [llms.txt](https://philipzheng.gitbook.io/docker_practice/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://philipzheng.gitbook.io/docker_practice/basic_concept.md).

# 基本概念

> **版本說明**：本章內容及範例基於 Docker v29.x 編寫。映像檔標籤相關範例請查閱官方文件以確認最新可用版本。

**Docker** 包括三個基本概念：

* **映像檔** (`Image`)：Docker 映像檔是一個特殊的檔案系統，除了提供容器執行時所需的程式、庫、資源、設定等檔案外，還包含了一些為執行時準備的一些設定參數（如匿名卷、環境變數、使用者等）。映像檔不包含任何動態資料，其內容在建立之後也不會被改變。
* **容器** (`Container`)：映像檔 (`Image`) 和容器 (`Container`) 的關係，就像是物件導向程式設計中的 `類別` 和 `實例` 一樣，映像檔是靜態的定義，容器是映像檔執行時的實體。容器可以被建立、啟動、停止、刪除、暫停等。
* **倉庫** (`Repository`)：映像檔建立完成後，可以很容易的在目前宿主機上執行，但是，如果需要在其他伺服器上使用這個映像檔，我們就需要一個集中的儲存、分發映像檔的服務，Docker Registry 就是這樣的服務。

理解了這三個概念，就理解了 **Docker** 的整個生命週期。

* [Docker 映像檔](/docker_practice/basic_concept/image.md)
* [Docker 容器](/docker_practice/basic_concept/container.md)
* [Docker 倉庫](/docker_practice/basic_concept/repository.md)
