# Docker 基礎教學
---
## Docker 的介紹

----
Docker 是一個開源的容器化平台,它可以讓您更輕鬆地創建、部署和運行應用程序。與傳統的虛擬化技術不同,Docker 容器是輕量級的,並且可以在不同的操作系統中運行。Docker 可以在容器中打包應用程序及其依賴項,這樣您就可以確保應用程序在任何環境中都能夠正確運行。
----
Docker 的核心概念是容器,它是一個輕量級的、可移植的軟件單元,它包含了應用程序及其依賴項。Docker 容器與虛擬機不同,它不需要模擬硬體,而是直接在宿主操作系統中運行。這使得 Docker 容器更快、更輕量級,並且可以在不同的操作系統中運行。
---
### Docker 和 VM 的比較
----
Docker 和虛擬機之間的最大區別在於虛擬機需要模擬完整的硬體,而 Docker 容器只需要包含應用程序及其依賴項。虛擬機是一個完整的操作系統和應用程序堆棧,它可以在任何操作系統上運行,但需要更多的資源和啟動時間。
----
相反,Docker 容器是輕量級的,它不需要模擬完整的硬體,因此它需要的資源更少,並且可以更快地啟動。Docker 容器可以在任何操作系統上運行,只要它們遵循了容器的運行規範。
此外,虛擬機通常需要一個虛擬化管理器,如VMware或VirtualBox,而 Docker 可以直接運行在宿主操作系統中。這使得 Docker 更容易部署和管理,並且更適合在大規模部署中使用。
----
### Container特性
----
#### 特性
1. 共用系統核心
1. 彈性利用資源
1. 檔案小
1. 部屬快速
1. 洋蔥式打包
----
#### 缺點
1. 隔離度差
1. 資源互搶
1. 無法跨平臺
1. Container影響host
----
### VM特性
----
#### 特性
1. 完整作業系統
1. 獨佔資源
1. 完全隔離
1. 權限獨立
----
#### 缺點
1. 檔案大
1. 資源先佔
1. 啟動慢
1. 配合度低
----

---
{"metaMigratedAt":"2023-06-18T00:51:20.697Z","metaMigratedFrom":"YAML","title":"Docker 基礎教學","breaks":true,"slideOptions":"{\"transition\":\"slide\",\"spotlight\":{\"enabled\":false}}","contributors":"[{\"id\":\"388c4bf6-8beb-45c5-8632-2fb50296a8c5\",\"add\":1127,\"del\":1}]"}