iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
DevOps

跟著菜鳥手把手用Docker建立服務系列 第 2

Day2 - 一起跟菜鳥了解什麼是Docker

  • 分享至 

  • xImage
  •  

Docker VS Vitrual Machine(VM)

Vitrual Machine(VM)
在很久以前我們要在Windows想要用其他的作業系統,例如Linux、Centos..等,來跑一些執行檔,那時候就會用Vitrual Machine(VM)來架設想要的系統環境,當時設定一堆東西,很像在重新灌一台電腦,如果哪邊設定錯誤要重新來過,而且跑整個系統的流程又很久,而且如果你一台電腦在Vitrual Machine(VM)架設許多的作業系統,你就會發現你的電腦會跑不太動,要解決這樣的問題就是花錢買Server主機自己回來架設,反正錢可以變成你喜歡的樣子,但一般人不太想要這樣做吧,那麼多主機佔空間。

Docker
Docker是一個容器化平台,用於建構、發佈和執行應用程式和服務。它使用容器技術,允許您將應用程式及其相關依賴項打包成一個獨立且可攜帶的容器。這個容器包括應用程式的程式碼、執行時環境、系統工具和函式庫,確保應用程式在不同的環境中能夠一致運行,不需要另外安裝作業系統,建立容器所需要的硬碟容量可以大幅降低,且啟動速度可以更快。

https://ithelp.ithome.com.tw/upload/images/20230906/20158512IiuZeDoB1R.png

Docker主要分為三大重點

  1. Image 映像檔
  2. Container 容器
  3. Repository 倉庫

Image映像檔

  • Docker映像檔是一個模板,是一個輕量級、獨立且可攜帶的軟體封裝,其中包含了一個應用程式及其相關依賴項的所有資源,包括程式碼、執行環境、系統工具、函式庫和設定。
  • 映像檔(Image)可以包含一個完整的MySql、Python或Ubuntu 作業系統等...,所以映像檔(Image)可以包含很多應用程式及資源。
  • Docker映像檔(Image)是唯讀(read-only)

Container容器

  • 容器是用映像檔建立出來的執行實例,它可以被啟動、開始、停止、刪除,每個容器都是相互隔離、保證安全的平台,所以一定要先有Image映像檔才有Container容器存在的意義
  • Container容器在啟動的時候會建立一層可以被修改的可寫層作為最上層

Repository倉庫

  • 儲存映像檔(Image)的一個場所,就有點像GitHub,可以把自己設計的映像檔(Image)Push上倉庫(Repository),也可以Pull下映像檔(Image)。
  • 最大的公開倉庫註冊伺服器是Docker Hub,上面有許多人設計好的映像檔(Image)可提供做使用

要真正了解一個東西,基本的知識如果練得越扎實,後面的進步的速度會跟飛奔沒什麼兩樣,所以基本的東西通常枯燥乏味,但要有耐心的去了解,才會懂的更多更快。
通常基本的講解大多數都講得很抽象,所以在這提出我個人對Docker獨特簡單的理解方式(不一定完全正確,但至少有87%正確),目的是讓大家能夠知道Docker大致上在做什麼

  • 把Image映像檔想成安裝軟體
  • 把Container容器想成一台電腦
  • 把Repository倉庫想成一個安裝軟體平台(類似Steam)

情境舉例
我從Steam(Repository)下載CS(Image),並且把CS(Image)安裝到電腦(Container)


一直想把基本的內容用簡單的方式讓人淺顯易懂,真的很不容易啊,我也是上網找資料然後把重點整理出來,所以有什麼錯誤的部分,真的需要大家的指教。


參考資料
Udemy-Docker容器技术从入门到精通
Docker 基礎教學與介紹 101
ChatGPT


上一篇
Day1 - Docker菜鳥起手式
下一篇
Day3 - 菜鳥了解Docker指令
系列文
跟著菜鳥手把手用Docker建立服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言