架構師帶你徹底瞭解docker?

早在2013年的時候,docker就已經發行,然而那會還是很少人瞭解docker。一直到2014年,Martin Fowler提出了微服務的概念,兩個不相干的技術終於走在了一起,創造了今天的輝煌


什麼是Docker

Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發佈到任何流行的 Linux或Windows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口

Docker有什麼用?

docker就是類似的理念。現在都流行雲計算了,雲計算就好比大貨輪。docker就是集裝箱。

1.不同的應用程序可能會有不同的應用環境,比如.net開發的網站和php開發的網站依賴的軟件就不一樣,如果把他們依賴的軟件都安裝在一個服務器上就要調試很久,而且很麻煩,還會造成一些衝突。比如IIS和Apache訪問端口衝突。這個時候你就要隔離.net開發的網站和php開發的網站。常規來講,我們可以在服務器上創建不同的虛擬機在不同的虛擬機上放置不同的應用,但是虛擬機開銷比較高。docker可以實現虛擬機隔離應用環境的功能,並且開銷比虛擬機小,小就意味着省錢了。

2.你開發軟件的時候用的是Ubuntu,但是運維管理的都是centos,運維在把你的軟件從開發環境轉移到生產環境的時候就會遇到一些Ubuntu轉centos的問題,比如:有個特殊版本的數據庫,只有Ubuntu支持,centos不支持,在轉移的過程當中運維就得想辦法解決這樣的問題。這時候要是有docker你就可以把開發環境直接封裝轉移給運維,運維直接部署你給他的docker就可以了。而且部署速度快。

3.在服務器負載方面,如果你單獨開一個虛擬機,那麼虛擬機會佔用空閒內存的,docker部署的話,這些內存就會利用起來。

總之docker就是集裝箱原理。

今天爲大家帶來的是深入淺出Docker

特點

標準化應用發佈,docker容器包含了運行環境和可執行程序,可以跨平臺和主機使用;

節約時間,快速部署和啓動,VM啓動一般是分鐘級,docker容器啓動是秒級;

方便構建基於SOA架構或微服務架構的系統,通過服務編排,更好的松耦合;

節約成本,以前一個虛擬機至少需要幾個G的磁盤空間,docker容器可以減少到MB級;

方便持續集成,通過與代碼進行關聯使持續集成非常方便;

可以作爲集羣系統的輕量主機或節點,在IaaS平臺上,已經出現了CaaS,通過容器替代原來的主機。

Docker



《Java學習、面試;文檔、視頻資源免費獲取》

Docker的優點

1、簡化程序:

Docker 讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,便可以實現虛擬化。Docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入Docker中進行管理。方便快捷已經是 Docker的最大優勢,過去需要用數天乃至數週的任務,在Docker容器的處理下,只需要數秒就能完成。

2、避免選擇恐懼症:

如果你有選擇恐懼症,還是資深患者。Docker 幫你打包你的糾結!比如 Docker 鏡像;Docker 鏡像中包含了運行環境和配置,所以 Docker 可以簡化部署多種應用實例工作。比如 Web 應用、後臺應用、數據庫應用、大數據應用比如 Hadoop 集羣、消息隊列等等都可以打包成一個鏡像部署。

3、節省開支:

一方面,雲計算時代到來,使開發者不必爲了追求效果而配置高額的硬件,Docker 改變了高性能必然高價格的思維定勢。Docker 與雲的結合,讓雲空間得到更充分的利用。不僅解決了硬件管理的問題,也改變了虛擬化的方式。

總結


Docker一詞意爲碼頭工人,而Docker的功能也與集裝箱類似。通常一個webapp並不會用到操作系統/虛擬機的全部功能,即操作系統/虛擬機對於一個webapp來說太過笨重。打個比方說,我要從宿舍去食堂,我並不需要一架飛機,只需要一輛自行車就夠了,而Docker鏡像就相當於是一輛自行車。你可以把Docker鏡像理解爲輕量化的虛擬機!

Docker的容器是以鏡像來創建的,鏡像是不是一個類似操作系統的環境? 是的,你可以將Docker理解爲一個輕量化的虛擬機,至於我們經常說的什麼Tomcat鏡像、MySQL鏡像之類的,只是這個輕量化的虛擬機中安裝了相應的軟件。鏡像的名字也就說明了鏡像的功能。

是不是到正式環境上還要安裝Docker,然後把應用部署在其中? 是的,構建Docker鏡像、運行Docker容器,都需要安裝Docker,但這是一勞永逸的,因爲我們使用的是安裝了各種各樣功能軟件的Docker鏡像和Docker容器。

最後:

這一份深入淺出Docker.PDF是可以免費送給想要學習的小夥伴!

《Java學習、面試;文檔、視頻資源免費獲取》

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