
文章目錄
- 前言
- 簡介
- 思考
- 作用
- 容器生態
- 開放容器計劃
- 總結
前言
最近更新完 Go 系列之后打算更新關于Go語言的一些開源專案,于是想到了大名鼎鼎的 Docker 容器,索性就打算專門開一系列關于Docker的學習文章,同時博主舍友的面試進度很順利,希望他早日成為南極(鵝廠)人😄,也希望深圳房租可以低一些,照顧照顧異地實習的大學生吧😄😄

簡介
Docker 是一種運行于 Linux 和 Windows 上的軟體,用于創建、管理和編排容器,
Docker 是在 GitHub 上開發的 Moby 開源專案的一部分,
Docker 公司,位于舊金山,是整個 Moby 開源專案的維護者,
Docker 公司還提供包含支持服務的商業版本的 Docker,
思考
倘若現在有個實際需求場景,需要在一百臺服務器上都配置 jdk, python, mysql, redis , nodejs 等服務,你會傾向于重復一百次相同的安裝配置操作,還是更傾向于只安裝配置一次這些服務,然后把這些服務裝進一個容器里面,然后只需要把這個容器拷貝到其他的服務器里面,然后啟動這個容器里面的各個服務呢?
作用
就正如官網介紹
Accelerate how you build, share and run modern applications
翻譯:加速構建、共享和運行現代應用程式的方式
上面的思考題的應用場景,正適合用 Docker 容器技術來解決,只需要在一臺服務器中 用 Docker 配置一次各個服務,然后把鏡像檔案打包,再把這個鏡像檔案發布到其他的服務器中,就可以快速解決生產環境的部署問題,非常高效,這樣子的解決思路是不是很妙呢?😄

容器生態
Docker 公司的一個核心哲學通常被稱為“含電池,但可拆卸”(Batteries included but removable),
意思是許多 Docker 內置的組件都可以替換為第三方的組件,網路技術堆疊就是一個很好的例子,
Docker 核心產品內置有網路解決方案,但是網路技術堆疊是可插拔的,這意味著 Docker 內置的網路方案可以被替換為第三方的方案,許多人都會這樣使用,
早期的時候,經常出現第三方插件比 Docker 提供的內置組件更好的情況,然而這會對 Docker 公司的商業模式造成沖擊,畢竟,Docker 公司需要依靠盈利來維持基業長青,
因此,“內置的電池”變得越來越好用了,這也導致了生態內部的緊張關系和競爭的加劇,
簡單來說,Docker 內置的“電池”仍然是可插拔的,然而越來越不需要將它們移除了,
盡管如此,容器生態在一種良性的合作與競爭的平衡中還是得以繁榮發展,
在談及容器生態時,人們經常使用到諸如“co-opetition”(意即合作與競爭,英文中 co-operation 與 competition 合并的詞)與“frenemy”(英文中朋友 friend 與敵人 enemy 合并的詞)這樣的字眼,這是一個好現象!因為良性的競爭是創新之母,
開放容器計劃
如果不談及開放容器計劃(The Open Container Initiative, OCI)的話,對 Docker 和容器生態的探討總是不完整的,下圖所示為 OCI 的Logo,

OCI的Logo
OCI 是一個旨在對容器基礎架構中的基礎組件(如鏡像格式與容器運行時)進行標準化的管理委員會,
同樣,如果不談歷史的話,對 OCI 的探討也是不完整的,
一個名為 CoreOS 的公司不喜歡 Docker 的某些行事方式,因此它就創建了一個新的開源標準,稱作“appc”,該標準涉及諸如鏡像格式和容器運行時等方面,
此外它還開發了一個名為 rkt(發音“rocket”)的實作,
兩個處于競爭狀態的標準將容器生態置于一種尷尬的境地,
這使容器生態陷入了分裂的危險中,同時也令用戶和消費者陷入兩難,雖然競爭是一件好事,但是標準的競爭通常不是,因為它會導致困擾,降低用戶接受度,對誰都無益,
考慮到這一點,所有相關方都盡力用成熟的方式處理此事,共同成立了 OCI ——一個旨在管理容器標準的輕量級的、敏捷型的委員會,
OCI 已經發布了兩份規范(標準):鏡像規范和運行時規范,
提到這兩項標準時,經常用到的比喻就是鐵軌,它們就像對鐵軌的尺寸和相關屬性達成一致,讓所有人都能自由地建造更好的火車、更好的車廂、更好的信號系統、更好的車站等,
只要各方都遵循標準就是安全的,沒人會希望在鐵軌尺寸問題上存在兩個相互競爭的標準!
公平地說,這兩個 OCI 規范對 Docker 的架構和核心產品設計產生了顯著影響,Docker 1.11 版本中,Docker 引擎架構已經遵循 OCI 運行時規范了,
到目前為止,OCI 已經取得了不錯的成效,將容器生態團結起來,然而,標準總是會減慢創新的步伐!尤其是對于超快速發展的新技術來說更是如此,
這在容器社區引起了熱烈的討論,這應該算是好事!容器技術正在重塑世界,走在技術前列的人們有熱情、有想法,這很正常,
OCI 在 Linux 基金會的支持下運作,Docker 公司和 CoreOS 公司都是主要貢獻者,
總結
每一門新技術的出現大部分都是為了解決某個現實生活中的問題,或者是優化某個技術某方面的缺陷,在學習一門新技術的時候,可以先從介紹開始,了解這門技術解決的是什么問題?我們該如何學習它,它的思想,底層原理演算法,這些都是進階必備的學習技能,希望有共鳴的童鞋可以給博主點個贊👍👍!

堅持分享,堅持原創,喜歡博主的靚仔靚女們可以看看博主的首頁博客!
您的點贊與收藏是我分享博客的最大贊賞!
博主博客地址: https://blog.csdn.net/weixin_43967679
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/274776.html
標籤:其他
上一篇:工業機器視覺系統相機如何選型?
