Docker Desktop客戶端是一款功能非常強(qiáng)大且好用的應(yīng)用程序軟件,這款軟件能夠幫助用戶輕松的在本地計算機(jī)上輕松的運(yùn)行和測試容器,同時還能幫助用戶快速的在這里構(gòu)建,運(yùn)行和管理容器化的應(yīng)用,有效的簡化開發(fā)過程,使用起來非常的簡單,感興趣或者有需要的小伙伴就快來kk網(wǎng)站下載體驗(yàn)一下吧。
什么是docker
docker是一個用Go語言實(shí)現(xiàn)的開源項(xiàng)目,可以讓我們方便的創(chuàng)建和使用容器,docker將程序以及程序所有的依賴都打包到docker container,這樣你的程序可以在任何環(huán)境都會有一致的表現(xiàn),這里程序運(yùn)行的依賴也就是容器就好比集裝箱,容器所處的操作系統(tǒng)環(huán)境就好比貨船或港口,程序的表現(xiàn)只和集裝箱有關(guān)系(容器),和集裝箱放在哪個貨船或者哪個港口(操作系統(tǒng))沒有關(guān)系。
因此我們可以看到docker可以屏蔽環(huán)境差異,也就是說,只要你的程序打包到了docker中,那么無論運(yùn)行在什么環(huán)境下程序的行為都是一致的,程序員再也無法施展表演才華了,不會再有“在我的環(huán)境上可以運(yùn)行”,真正實(shí)現(xiàn)“build once, run everywhere”。
此外docker的另一個好處就是快速部署,這是當(dāng)前互聯(lián)網(wǎng)公司最常見的一個應(yīng)用場景,一個原因在于容器啟動速度非常快,另一個原因在于只要確保一個容器中的程序正確運(yùn)行,那么你就能確信無論在生產(chǎn)環(huán)境部署多少都能正確運(yùn)行。
Docker Desktop客戶端的工作原理
docker使用的是常見的CS架構(gòu),也就是client-server模式,docker client負(fù)責(zé)處理用戶輸入的各種命令,比如docker build、docker run,真正工作的其實(shí)是server,也就是docker demon,值得注意的是,docker client和docker demon可以運(yùn)行在同一臺機(jī)器上。
下面,我們用幾個命令來講解一下docker的工作流程:
1、docker build
當(dāng)我們寫完dockerfile交給docker“編譯”時使用這個命令,那么client在接收到請求后轉(zhuǎn)發(fā)給docker daemon,接著docker daemon根據(jù)dockerfile創(chuàng)建出“可執(zhí)行程序”image。
2、docker run
有了“可執(zhí)行程序”image后就可以運(yùn)行程序了,接下來使用命令docker run,docker daemon接收到該命令后找到具體的image,然后加載到內(nèi)存開始執(zhí)行,image執(zhí)行起來就是所謂的container。
3、docker pull
docker中image的概念就類似于“可執(zhí)行程序”,我們可以從哪里下載到別人寫好的應(yīng)用程序呢?很簡單,那就是APP Store,即應(yīng)用商店。與之類似,既然image也是一種“可執(zhí)行程序”,那么有沒有"Docker Image Store"呢?答案是肯定的,這就是Docker Hub,docker官方的“應(yīng)用商店”,你可以在這里下載到別人編寫好的image,這樣你就不用自己編寫dockerfile了。
docker registry 可以用來存放各種image,公共的可以供任何人下載image的倉庫就是docker Hub。那么該怎么從Docker Hub中下載image呢,就是這里的docker pull命令了。
因此,這個命令的實(shí)現(xiàn)也很簡單,那就是用戶通過docker client發(fā)送命令,docker daemon接收到命令后向docker registry發(fā)送image下載請求,下載后存放在本地,這樣我們就可以使用image了。
Docker Desktop客戶端功能
1、速度:
開發(fā)人員希望最大限度地利用時間為應(yīng)用程序編寫代碼,并最大限度地減少設(shè)置和開銷,以便可以盡早且頻繁地交付。
Docker Init:自動為 Python、Node 和 Go 應(yīng)用程序生成 Dockerfile 和docker-compose.yml文件。
VirtioFS 支持:數(shù)據(jù)庫導(dǎo)入時間減少 98%。
Docker Compose file watch:自動檢測本地主機(jī)代碼更改并將其與容器同步。
vpnkit => gVisor:容器到主機(jī)的網(wǎng)絡(luò)性能提高 5 倍。
2、安全性:
具體來說,非侵入性、信息豐富且可操作的安全性。開發(fā)人員希望在“內(nèi)循環(huán)”中編碼時立即捕獲并修復(fù)漏洞,而不是在 CI 中 30 分鐘后或在生產(chǎn)中 7 天后。
Docker Scout:當(dāng)開發(fā)人員在“內(nèi)循環(huán)”中編碼時,自動檢測漏洞并建議修復(fù)。
證明:Docker Build自動生成 SBOM 和 SLSA Provenance 并將它們附加到映像。
3、選擇:
開發(fā)人員希望能夠自由地探索新技術(shù)并為正確的工作選擇正確的工具,而不是被限制在“除了廚房水槽之外的所有東西”的整體工具中使用最低公分母技術(shù)。
Docker 擴(kuò)展:推出僅一年多,從那時起,合作伙伴和社區(qū)成員已經(jīng)創(chuàng)建并向Docker Hub發(fā)布了700 多個 Docker 擴(kuò)展,用于涵蓋 Kubernetes 應(yīng)用程序開發(fā)、安全性、可觀察性等廣泛的開發(fā)人員工具。
Docker 贊助的開源項(xiàng)目:在 Docker Hub 上 100% 免費(fèi)提供,該贊助計劃支持 600 多個開源社區(qū)項(xiàng)目。
多種架構(gòu):單個docker build命令可以生成在多種架構(gòu)上運(yùn)行的映像,包括 x86、ARM、RISC-V,甚至 IBM 大型機(jī)。
Docker Desktop客戶端安裝環(huán)境
Docker官方建議在Ubuntu中安裝,因?yàn)镈ocker是基于Ubuntu發(fā)布的,而且一般Docker出現(xiàn)的問題Ubuntu是最先更新或者打補(bǔ)丁的。在很多版本的CentOS中是不支持更新最新的一些補(bǔ)丁包的。
注意:這里建議安裝在CentOS7.x以上的版本,在CentOS6.x的版本中,安裝前需要安裝其他很多的環(huán)境而且Docker很多補(bǔ)丁不支持更新。