iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
Software Development

0 到 100 Linux快打旋風系列 第 16

Day16 - L先生(Linux)與D小姐(Docker)的秘密約會 (1)

  • 分享至 

  • xImage
  •  

前言

本篇跟大家分享一下,Docker 是什麼以及要如何從 Linux 系統中安裝 Docker,今天先跟大家講一下 Docker 的奧秘

什麼是 Docker ?

Docker 是一個開源專案,於 2013 年初由 dotCloud 公司創建,最初作為一個內部的業餘專案。該專案是使用 Google 推出的 Go 語言實作的,後來加入了 Linux 基金會,遵循 Apache 2.0 許可協議,其原始碼在 GitHub 上進行維護。

自 Docker 開源以來,得到了廣泛的關注和討論,以至於 dotCloud 公司後來更名為 Docker Inc。Red Hat 在 RHEL 6.5 版本中全面支援 Docker,而 Google 也在其 PaaS 產品中廣泛應用。

Docker 專案的目標是實現輕量級的操作系統虛擬化解決方案,其核心技術基於 Linux 容器(LXC)。Docker 對 LXC 進行了進一步的封裝,讓使用者無需關心容器管理,操作更加簡便。使用 Docker 容器就像操作一個快速輕量級的虛擬機一樣簡單。

為什麼要使用 Docker ?

作為一種新興的虛擬化技術,Docker 相較於傳統虛擬化方式具有多項優勢:

  • 更快速的啟動:Docker 容器的啟動時間僅需數秒,遠比傳統虛擬機快得多。
  • 高效的資源利用:Docker 容器對系統資源的消耗極低,能在一台主機上同時執行數千個容器,而不會因為執行多個應用程式而過多消耗系統資源。
  • 高效能與高效率:由於 Docker 是基於核心層級的虛擬化,無需額外的虛擬化支援,從而能實現更高的效能與效率。
  • 跨平台遷移與擴展:Docker 容器幾乎可以在任何平台上運行,包括實體機器、虛擬機、公有雲、私有雲、個人電腦、伺服器等,這使得應用程式能夠輕鬆地從一個平台遷移到另一個平台。
  • 簡單的管理:使用 Docker,僅需小幅度的修改即可進行大規模的更新。所有的變更都可以增量方式分發和更新,從而實現自動化且高效的管理。

Docker 跟 Linux 之間的關係

當您從 Docker 映像建立容器時,該容器在主機上的隔離使用者空間中執行,通常使用基於 Linux 的環境。Docker 利用 Linux 核心的命名空間和 cgroup 等功能來提供容器化,每個容器共享主機的內核,但擁有獨立的檔案系統、進程空間和網路。這使應用程式能在一致且可重複的環境中運行,而不受底層主機系統影響。

雖然 Linux 是 Docker 容器最常見的主機作業系統,但 Docker 也支援 Windows 和 macOS。在這些非 Linux 系統上,Docker 使用輕量級的 Linux 虛擬機器來執行容器,該虛擬機由 Docker Desktop 管理,以確保與基於 Linux 的容器相容性。

總結來說,Docker 容器主要設計為在 Linux 上運行,透過輕量級虛擬化技術,也能在非 Linux 主機上提供一致的容器運行環境。

結論與感想

希望本篇大家可以了解 Linux 與 Docker 的關係~~

資料來源

https://www.freecodecamp.org/news/a-beginner-friendly-introduction-to-containers-vms-and-docker-79a9e3e119b

https://medium.com/@ya8wanth/relationship-between-docker-image-and-linux-7768b575fd3a

https://philipzheng.gitbook.io/docker_practice/introduction/what


上一篇
Day15 - Linux 虛擬化技術
下一篇
Day17 - L先生(Linux)與D小姐(Docker)的秘密約會 (2)
系列文
0 到 100 Linux快打旋風30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言