iT邦幫忙

2024 iThome 鐵人賽

0
佛心分享-微軟Windows 11 Pro

深入淺出 Windows 11 Pro系列 第 20

[Day20] Docker與容器基礎介紹 (3)

  • 分享至 

  • xImage
  •  

前情提要:
Docker與容器基礎介紹 (1), Docker與容器基礎介紹 (2)

今天來介紹Docker的相關知識!
昨天的文章中提到過Linux內建了一些機制,使資源可以被隔離、管控
最初IBM公司使用這些技術開發了一款叫做LXC的軟體,可說是最早的容器化工具

到了2013年,Docker被推出後,就引起廣大社群的注意,自此之後容器化技術就不斷地發展
Docker一開始也是基於LXC之上進行開發,不過後期就不依賴於它,而是發展了自己的一套libcontainer技術,而後又根據了OCI標準,變成了runC
https://ithelp.ithome.com.tw/upload/images/20241104/20168497D3OEtVpALX.png

Docker與LXC差在哪?
Docker除了LXC能做的事情外,又更強調了封裝、遷移、部署等概念,也就是說,當我們開發完一款應用後可以將整個運行環境封裝成映像檔(封閉貨櫃),實際要將應用上線成產品前,就將這些貨櫃運送到各個港口(想像成位於全球各地的一堆電腦),在貨櫃的上方,放置一個開放的空貨櫃,也就是容器,任何的暫時性修改都會存放於此,這也就是Docker的logo由來
https://ithelp.ithome.com.tw/upload/images/20241104/201684975mpaqFu5yg.png

下圖展示了Docker從開發到部署的流程
https://ithelp.ithome.com.tw/upload/images/20241104/20168497e4UsV0V43p.png

Image映像與Container容器間的差別?
Image可以想像成除了最上層以外的下層貨櫃,這部分是不會被修改到的,也就是Read-Only,Container就是最上層的貨櫃,修改會存放於此
https://ithelp.ithome.com.tw/upload/images/20241104/20168497EV9fPIIId0.png

一個image可以部署成多個容器,進行大量實例化或多樣化
https://ithelp.ithome.com.tw/upload/images/20241104/20168497LKzo6u5Fns.png

提升Docker安全性?
我們提到過,Docker因為與宿主機共用核心的關係,所以安全性較差,如果要提升安全性,我個人是使用以下做法
在我的Hypervisor(ProxmoxVE)之上開一個Debian的VM,在這個VM中安裝Docker,這樣既可以享受Docker的便利性,也可以確保宿主機的安全,不過效能理所當然會被VM限制住囉~
以我個人使用的服務而言,如nextcloud, wireguard, rustdesk server...,這樣的效能是完全足夠的


上一篇
[Day19] Docker與容器基礎介紹 (2)
下一篇
[Day21] Windows上的虛擬化工具 (虛擬化系列完結篇)
系列文
深入淺出 Windows 11 Pro30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言