初識Docker

本文來自尚硅谷

1、爲什麼會有docker出現?

一款產品從開發到上線,從操作系統,到運行環境,再到應用配置。作爲開發+運維之間的協作我們需要關心很多東西,這也是很多互聯網公司都不得不面對的問題,特別是各種版本的迭代之後,不同版本環境的兼容,對運維人員都是考驗
Docker之所以發展如此迅速,也是因爲它對此給出了一個標準化的解決方案。

環境配置如此麻煩,換一臺機器,就要重來一次,費力費時。很多人想到,能不能從根本上解決問題,軟件可以帶環境安裝?也就是說,安裝的時候,把原始環境一模一樣地複製過來。開發人員利用 Docker 可以消除協作編碼時“在我的機器上可正常工作”的問題。

之前在服務器配置一個應用的運行環境,要安裝各種軟件,就拿尚硅谷電商項目的環境來說吧,Java/Tomcat/MySQL/JDBC驅動包等。安裝和配置這些東西有多麻煩就不說了,它還不能跨平臺。假如我們是在 Windows 上安裝的這些環境,到了 Linux 又得重新裝。況且就算不跨操作系統,換另一臺同樣操作系統的服務器,要移植應用也是非常麻煩的。

傳統上認爲,軟件編碼開發/測試結束後,所產出的成果即是程序或是能夠編譯執行的二進制字節碼等(java爲例)。而爲了讓這些程序可以順利執行,開發團隊也得準備完整的部署文件,讓維運團隊得以部署應用程式,開發需要清楚的告訴運維部署團隊,用的全部配置文件+所有軟件環境。不過,即便如此,仍然常常發生部署失敗的狀況。Docker鏡像的設計,使得Docker得以打破過去「程序即應用」的觀念。透過鏡像(images)將作業系統核心除外,運作應用程式所需要的系統環境,由下而上打包,達到應用程式跨平臺間的無縫接軌運作。

2、Docker是什麼?

一句話來說就是:

將程序、環境一鍵打包成鏡像,一處構建,到處運行。 解決了運行環境和配置問題軟件容器,方便持續集成並有助於整體發佈的容器虛擬化技術

3、Docker的三要素及之間的關係

docker的三要素:鏡像、容器、倉庫
三者之間的關係:
根據鏡像可以生成多個容器,就像Java中,一個類可以new多個實例一樣。
倉庫可以存儲多個鏡像,倉庫就類似於Java中的“包”的概念,鏡像就是Java類。
當然,可以根據一個容器實例生成它對應的鏡像,這就類似於Java中根據對象實例通過反射得到這個Java類

例如安裝運行一個tomcat,在Docker中的操作步驟就是:
1、從遠程倉庫中拉取tomcat的鏡像到本地
2、運行本地鏡像就可以產生一個tomcat容器
通過簡單的兩步tomcat就安裝啓動好了

下面這個圖展示了Docker的三要素之間的關係:
在這裏插入圖片描述

4、Docker爲什麼會比VM快

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章