---
# System prepended metadata

title: Docker＆Django系列-Docker 是什麼？

---


# Docker＆Django系列-Docker 是什麼？
## Docker
### 基本介紹
Docker 是一個開源專案，以 Linux 容器(Container)等技術為基礎。每個容器都是相互隔離的。
### 目標
* 實作輕量級的作業系統虛擬化
* 在實際應用上，多人開發可以確保開發環境相同
### 概念
* 映像檔(Image)：用來建立 Docker Container
* 容器(Container)：執行應用
* 倉庫(Repository)：存放映像檔的地方，每個倉庫有多個映像檔，每個映像檔有多個標籤(tag)
### 和 Virtual Machines(VMs) 比較
* Container: 把 code 和 dependencies 打包起來的應用層，多個 Container 可以在同個機器上執行，共用 OS kernal，每個 Container 仍在各自空間執行。
* VMs: 將實體硬體抽象化，一個主機中含多個虛擬主機，每個虛擬主機都還有作業系統、應用程序，及必要的文件檔，佔用數十 GB，因此啟動時間較慢。
![](https://i.imgur.com/vqhZEcI.jpg)


|  | Container | VM |
| -------- | -------- | -------- |
| 啟動時間    |快    |    慢|
| 使用空間    |數十MB|數十 GB|

#### 參考資料：
* https://ithelp.ithome.com.tw/articles/10199339
* https://www.docker.com/resources/what-container/