什么是docker?docker具備什么功能呢?
分類:虛機資訊
編輯:
瀏覽量:100
2021-07-12 15:17:32
??現在網絡服務種類比較多樣化,涉及到很多網絡技術產品,docker就是其中之一,不同的技術產品有著不同的作用,有的人之前沒有聽說過docker。什么是docker?docker具備什么功能呢?下面大家就聽聽新網的專業講解吧。
??一、什么是docker?
??Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發布到任何流行的Linux或Windows機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
??二、Docker有什么功能?
??Docker的思想來自于集裝箱,集裝箱解決了什么問題?在一艘大船上,可以把貨物規整的擺放起來。并且各種各樣的貨物被集裝箱標準化了,集裝箱和集裝箱之間不會互相影響。那么我就不需要專門運送水果的船和專門運送化學品的船了。只要這些貨物在集裝箱里封裝的好好的,那我就可以用一艘大船把他們都運走。
??docker就是類似的理念。現在都流行云計算了,云計算就好比大貨輪。docker就是集裝箱。
??1.不同的應用程序可能會有不同的應用環境,比如.net開發的網站和php開發的網站依賴的軟件就不一樣,如果把他們依賴的軟件都安裝在一個服務器上就要調試很久,而且很麻煩,還會造成一些沖突。比如IIS和Apache訪問端口沖突。這個時候你就要隔離.net開發的網站和php開發的網站。常規來講,我們可以在服務器上創建不同的虛擬機在不同的虛擬機上放置不同的應用,但是虛擬機開銷比較高。docker可以實現虛擬機隔離應用環境的功能,并且開銷比虛擬機小,小就意味著省錢了。
??2.你開發軟件的時候用的是Ubuntu,但是運維管理的都是centos,運維在把你的軟件從開發環境轉移到生產環境的時候就會遇到一些Ubuntu轉centos的問題,比如:有個特殊版本的數據庫,只有Ubuntu支持,centos不支持,在轉移的過程當中運維就得想辦法解決這樣的問題。這時候要是有docker你就可以把開發環境直接封裝轉移給運維,運維直接部署你給他的docker就可以了。而且部署速度快。
??3.在服務器負載方面,如果你單獨開一個虛擬機,那么虛擬機會占用空閑內存的,docker部署的話,這些內存就會利用起來。
??三、Docker有什么優缺點?
??優點:
??1.更快速的交付于部署:快速創建容器,快速迭代應用,秒級啟動,全程可視化
??2.更高效的虛擬化:內核級虛擬化,不需要額外的hypervisor
??3.更輕松的遷移和擴展:可以在任意的平臺上運行,應用程序可以直接跨平臺遷移
??4.更簡單的管理:以增量式進行修改和發布,實現自動化管理
??缺點:
??1.Docker是基于Linux 64bit的,無法在32bit的linux/Windows/unix環境下使用
??2.LXC是基于cgroup等linux kernel功能的,因此container的guest系統只能是linux base的
??3.隔離性相比KVM之類的虛擬化方案還是有些欠缺,所有container公用一部分的運行庫
??4.網絡管理相對簡單,主要是基于namespace隔離cgroup的cpu和cpuset提供的cpu功能相比KVM的等虛擬化方案相比難以度量(所以dotcloud主要是按內存收費)
??5.Docker對disk的管理比較有限。
??什么是docker?docker具備什么功能呢?通過上文新網的專業介紹,大家對于docker有了基礎的認識,docker功能雖然說比較強大,但是也是存在一些缺點。
??一、什么是docker?
??Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發布到任何流行的Linux或Windows機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
??二、Docker有什么功能?
??Docker的思想來自于集裝箱,集裝箱解決了什么問題?在一艘大船上,可以把貨物規整的擺放起來。并且各種各樣的貨物被集裝箱標準化了,集裝箱和集裝箱之間不會互相影響。那么我就不需要專門運送水果的船和專門運送化學品的船了。只要這些貨物在集裝箱里封裝的好好的,那我就可以用一艘大船把他們都運走。
??docker就是類似的理念。現在都流行云計算了,云計算就好比大貨輪。docker就是集裝箱。
??1.不同的應用程序可能會有不同的應用環境,比如.net開發的網站和php開發的網站依賴的軟件就不一樣,如果把他們依賴的軟件都安裝在一個服務器上就要調試很久,而且很麻煩,還會造成一些沖突。比如IIS和Apache訪問端口沖突。這個時候你就要隔離.net開發的網站和php開發的網站。常規來講,我們可以在服務器上創建不同的虛擬機在不同的虛擬機上放置不同的應用,但是虛擬機開銷比較高。docker可以實現虛擬機隔離應用環境的功能,并且開銷比虛擬機小,小就意味著省錢了。
??2.你開發軟件的時候用的是Ubuntu,但是運維管理的都是centos,運維在把你的軟件從開發環境轉移到生產環境的時候就會遇到一些Ubuntu轉centos的問題,比如:有個特殊版本的數據庫,只有Ubuntu支持,centos不支持,在轉移的過程當中運維就得想辦法解決這樣的問題。這時候要是有docker你就可以把開發環境直接封裝轉移給運維,運維直接部署你給他的docker就可以了。而且部署速度快。
??3.在服務器負載方面,如果你單獨開一個虛擬機,那么虛擬機會占用空閑內存的,docker部署的話,這些內存就會利用起來。
??三、Docker有什么優缺點?
??優點:
??1.更快速的交付于部署:快速創建容器,快速迭代應用,秒級啟動,全程可視化
??2.更高效的虛擬化:內核級虛擬化,不需要額外的hypervisor
??3.更輕松的遷移和擴展:可以在任意的平臺上運行,應用程序可以直接跨平臺遷移
??4.更簡單的管理:以增量式進行修改和發布,實現自動化管理
??缺點:
??1.Docker是基于Linux 64bit的,無法在32bit的linux/Windows/unix環境下使用
??2.LXC是基于cgroup等linux kernel功能的,因此container的guest系統只能是linux base的
??3.隔離性相比KVM之類的虛擬化方案還是有些欠缺,所有container公用一部分的運行庫
??4.網絡管理相對簡單,主要是基于namespace隔離cgroup的cpu和cpuset提供的cpu功能相比KVM的等虛擬化方案相比難以度量(所以dotcloud主要是按內存收費)
??5.Docker對disk的管理比較有限。
??什么是docker?docker具備什么功能呢?通過上文新網的專業介紹,大家對于docker有了基礎的認識,docker功能雖然說比較強大,但是也是存在一些缺點。
聲明:免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發
送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。本站原創內容未經允許不得轉載,或轉載時
需注明出處:新網idc知識百科