1. 程式人生 > >docker快速理解

docker快速理解

  • 先舉例說明一下什麼是docker思想。

為什麼Docker這麼有價值?在回答這個問題之前,我們先想一個相似的問題,為什麼現在以阿里、京東一類的電商平臺能夠佔據中國網際網路的半壁江山?

傳統的商業模式存在有兩大弊端:

 

  • 買賣雙方相對分散,加大了需求手機、營銷、運送的成本;
  • 買賣雙方資訊部隊稱,對交易產生了一直作用。

電子商務的出現則是將商品從賣方到買方的流通過程變得集中化、標準化、透明化

集中化:買家足不出戶就能從各個商戶中集中購買商品,賣家根據買家需求集中配貨,根據下單情況集中發貨。

標準化:買家支付下單--賣家發貨--快遞包裹--物流運輸--買家收貨確認,整個流程都是標準化的。

透明化:買家可以在網上瀏覽商品評價、比較商品價格。買賣雙方的信用登記也是完全透明的。

綜上所訴,可以說電商平臺帶來的最大價值在於降低了商品的社會交易成本。現在我們把商業發展的邏輯搬到軟體交付這裡。傳統的軟體交付面臨同傳統商業類似的問題:

 

  • 軟體釋出分散化,使用者搜尋和安裝軟體的成本較高。

當然我們有類似的yum、brew這樣的工具來集中處理軟體和安裝軟體的依賴問題。但是,不要忘記開元軟體已經佔據越來越重要的位置,他們的發展速度和協作方式使傳統的工具很難跟上節奏。軟體開發者和軟體使用者雙方資訊不對稱。儘管開發者對軟體的程式碼編譯、引數配置、執行環境等資訊瞭如指掌。但使用者卻很可能一知半解。因此,我們會常看到使用者抱怨,明明按照使用者手冊一步步操作,卻仍然跑不起來軟體,幾經輾轉發現是機器環境、系統環境、軟體依賴版本、引數配置等等原因導致。這樣抵消的軟體流程將使持續集成於持續交付很難真正的實施起來,僅僅流於形式。

Docker的出現則將軟體從開發方到使用方的交付過程變得集中化、標準化、透明化。

集中化:軟體使用者可以從Docker倉庫找到琳琅滿目的軟體映象,一個映象包含商業軟體或開源軟體,也可以包含單個軟體或任意的軟體組合。

標準化:Docker映象的“構建—釋出—儲存—下載—執行”是標準化的,統一通過Docker工具來執行,而且所有操作都可以移植到任意的機器或平臺。

透明化:Docker映象是自包含的,包括程式、軟體依賴、引數配置等所有執行環境,使用者無需瞭解細節,只需運行同樣的Docker命令就能達到與開發者同樣的執行狀態。

綜上所述,可以說Docker帶來的最大價值在於降低了軟體的交付成本。

  • docker思想:

Docker 的思想來自於集裝箱,集裝箱解決了什麼問題?在一艘大船上,可以把貨物規整的擺放起來並且各種各樣的貨物被集裝箱標準化了, 集裝箱和集裝箱之間不會互相影響。那麼我們不需要專門運送水果的船和專門運送化學品的船了。只要這些貨物在集裝箱裡封裝的好好的,那我就可以用一艘船把他們都運走。

docker的就在使用類似的想法。現在主要都是流行雲計算,雲端計算就好比一艘貨輪,docker就是其中的集裝箱,主要目的就是用來搭送軟體。

 

  • 做為軟體使用者,避免直接安裝軟體包,總是以Docker映象形式獲取軟體、以Docker容器形式執行軟體。
  • 做為軟體開發者,避免直接釋出軟體包,總是以Docker映象形式釋出到Docker倉庫。

我們專業的技術人員, 有時候瞭解一個新的技術只需要瞭解這個技術是什麼, 用到了什麼思想,什麼時候可以用到這樣的新技術,這樣就滿足我們的需求了。

一個來自網際網路PM對docker的理解。

文章截選網際網路資料,如有抄襲請聯絡本人,會刪除。