iT邦幫忙

2023 iThome 鐵人賽

DAY 12
1
AI & Data

AIoT的藍藥丸與紅藥丸,你選哪個?系列 第 17

Day 12:Docker的基本介紹、主要架構、基本元素和指令

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20230927/20162501Tof1rPGLmF.png

Docker

開放源碼的軟體容器平台,將軟體打包成貨櫃/軟體的貨運服務

  • 簡單說明:Docker 就像一艘大貨櫃船,它可以將各種貨物(應用程式及其相關環境)打包成一個個貨櫃(Container, 容器),並在任何支援 Docker 的港口(系統)上卸貨。這種技術可以避免港口規格不同而產生的各種問題,並且讓船長(開發者)可以專心開船送貨(應用程式本身的開發)。
  • 相關話題
    • Docker 基本架構:Docker 的基本架構包括 Docker Client(客戶端)、Docker Host(主機)和 Docker Registry(倉庫註冊伺服器)。就像船長(Client, 客戶端)可以跟港口(Host, 主機)聯絡,而貨櫃(Image, 映像檔)則是用於創建 Docker 容器。
    • Docker 的三個基本元素:Image(映像檔)、Container(容器)和Repository(倉庫)。這就像我們會介紹海港的三個基本元素:貨物、貨櫃和倉庫。
    • 使用指令操作 Docker:Docker 提供了一套豐富的命令行界面(CLI),就像船長可以用這些指令來讓船隻啟動、停止航行……等,或是操作起重機來裝卸貨櫃。
  • 使用範例docker run hello-world 這個指令會運行一個名為 “hello-world” 的 Docker 容器,就像是將一個名為 “hello-world” 的貨櫃運送到目標港口。

Containers(容器)

就像是一個貨櫃

  • 簡單說明:Containers可以將各種貨物(應用程式及其相關環境)打包在一起,並在任何港口(系統)上卸貨。

Containers v.s. Virtual Machines

https://ithelp.ithome.com.tw/upload/images/20230927/20162501P1xCj9LDoj.png

圖片來源:Docker 基本教學(pellok, 2019)

這兩者的差異可以用不同的住房類型來解釋

Containers(容器)

容器則比較像是雅房。在雅房裡面,每個房間只有床和一些基本家具,沒有自己專用廚房和浴室設備,通常會由多個房間共用一套廚房和衛浴。每個容器都有自己的應用程式和相關環境,但作業系統等基礎設施是由所有容器共享的。這種方式可以節省資源,因為不需要為每個容器都提供一個完整的系統,但也需要確保各個容器之間的隔離,以防止互相干擾。

Virtual Machines(虛擬機)

虛擬機(VM)就像是套房。每間套房都是一個完整獨立的空間,有專屬的廚房、浴室、臥室等。每個虛擬機也都是一個完整的系統,包含了作業系統、應用程式等所有必要的元件。這樣可以每間套房(VM, 虛擬機)就可以獨立運作,互不干擾,但也需要較多的資源來維護。

Registry(倉庫註冊伺服器)

就像是一個儲存貨櫃的倉庫

  • 簡單說明:每個倉庫中都有多種不同的貨櫃(映像檔),每種貨櫃都有自己的標籤(tag)。你可以使用 docker pull 指令來下載,或者使用 docker push 指令來上傳。

Registry v.s. Repository

這兩者的差異可以用書店來舉例說明

Registry(倉庫註冊伺服器)

就像是一個大型的書店連鎖品牌,例如 “誠品” 或 “蔦屋書店”。這些品牌底下有很多分店(repositories),每一家的分店的選書、庫存都不太一樣(images)。當你想要找某一本書時,你會先決定去“誠品” 或 “蔦屋書店”(選擇 registry),然後再決定去哪一間分店(選擇 repository)。

Repository(倉庫)

像是書店品牌(“誠品” 或 “蔦屋書店”)下的一間分店。每一間分店都有各種不同的選書(images)。這些書可能按照類型或作者來分類,就像 Docker images 可以按照不同的標籤(tags)來分類。


上一篇
Day 11:NoSQL資料庫的基本概念
下一篇
Day 12:Docker 安裝與設定
系列文
AIoT的藍藥丸與紅藥丸,你選哪個?62
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言