iT邦幫忙

2023 iThome 鐵人賽

DAY 27
0

來了!即使進公司快半年還是搞不懂的 Docker,剩下幾天來搞懂他一下好了。

Docker 是容器執行階段技術 (Container)

舉例:每台電腦作業環境與系統配備不盡相同,這隻程式在我的電腦跑可能很正常,但到你的電腦上去的時候,結果整組壞光光。因此我們需要設置一個虛擬化的環境,讓程式可以在不同硬體上執行時,都以為自己在同一個環境中執行。

https://ithelp.ithome.com.tw/upload/images/20231012/20162639wC1oPJa3a0.png

虛擬機器是在系統層上虛擬化,在作業系統(Host OS)上面再裝一個作業系統(Guest OS),然後讓兩個作業系統彼此不會打架的平台; 因為 Guest OS 開啟速度慢,且佔記憶體空間大,因此透過 Container Manager 直接將一個應用程式所需的程式碼、函式庫打包,建立資源控管機制隔離各個容器,並分配 Host OS 上的系統資源。透過容器,應用程式不需要再另外安裝作業系統(Guest OS)也可以執行。

組成 Docker 的重要元素

Dockerfile
Dockerfile 是一種簡易的文件檔,裡面包含了建立新映像檔所需的指令。

Image (映像檔)
映像檔是一個模板,能透過映像檔建置不同的容器,包含了開發者需要部署的應用程式、作業系統和編譯環境。可以透過Dockerfile指令撰寫命令構成或是從公開的地方下載已經做好的映像檔來使用。

Container (容器)
容器是映像檔建立出來的實例(Instance),每個容器都是相互隔離、保證安全的平台。映像檔是唯讀(Read Only)的模板,因此容器在運行後映像檔的上層會增加一個能夠修改的讀寫層(Read and Write)。
https://ithelp.ithome.com.tw/upload/images/20231012/20162639mpu8GGPKlN.png

倉庫 Repository
儲存映像檔的地方,目前官方最大的公開倉庫是 Docker Hub,也可以透過 push, pull 建立自己的倉庫。

https://ithelp.ithome.com.tw/upload/images/20231012/20162639LFDDcQSJaT.png
圖片來源:https://www.hellosanta.com.tw/knowledge/category-38/post-130

參考文章:


上一篇
跳板機
下一篇
來安裝 Docker 吧
系列文
往後端邁進的菜前端30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言