Eleght科技 docker是干什么的

本期Eleght科技給大家分享一下Docker的入門技術,自己覺得太權威的解釋并不能說的透徹明白,所以特以此文來表述自己的見解,如果哪里有說的不恰當的希望朋友們能指出來,大家共同學習進步,小E不勝感激!

Eleght科技 docker是干什么的

文章插圖
我們先來了看一下Docker我先來啟動一個docker,鍵入以下命令:為什么后面我會詳細介紹的,看看docker給我們帶來了什么
docker run -it ubuntu
Eleght科技 docker是干什么的

文章插圖
【Eleght科技 docker是干什么的】1-1
如圖1-1所示 , 我們啟動了一個Docker的容器,使用了root的賬戶來登陸,后面的數字字母代表了容器的命令,我們接著運行一些shelll命令 , 比如ps,如圖1-2
Eleght科技 docker是干什么的

文章插圖
1-2
我們可以看到包含一些文件命令比如進程的查看,這與我們傳統的虛擬機有著很大的相似性,實際上docker的容器技術就是虛擬化技術的一種 。
什么是容器呢容器是一種虛擬化的方案,它與傳統的虛擬機不同,傳統的虛擬機是通過中間層向一臺或者多臺獨立的機器虛擬運行于物理硬件之上 , 而容器是直接運行在操作系統內核之上的用戶空間,因此容器虛擬化也稱為操作系統虛擬化 。
又因為容器依賴操作系統,所以只能運行相同或相似內核的操作系統 , 而docker是依賴于Linux內核的Namespace和Cgroups特性 , 所以docker只能運行在Linux系統 , 這也就是為什么不能運行在Windows系統之上的原因 。
Linux容器技術VS虛擬機我以兩張圖來說明:
Eleght科技 docker是干什么的

文章插圖
1-3
Eleght科技 docker是干什么的

文章插圖
1-4
具體優點我來總結一下,其實就兩大條 。
1、占用的磁盤空間更少,原因很簡單,當我們使用虛擬機部署應用 , 不但得包括應用依賴的庫,而且需要包含完整的操作系統 , 原本只需要幾十兆的應用,卻需要幾個G的操作系統來支持,而容器只需要應用以及它所依賴的庫即可,大大減少了磁盤占用 。
2、虛擬機是模擬硬件的行為,對內存和CPU的損耗也十分的大,所以使用相同容器能比虛擬機提供更多的服務能力,服務更多的用戶,占用更少的資源 。
Docker的出現容器技術既然有這么大優點,為什么直到Docker的出現才被大家關注起來呢?原因很簡單:復雜 。容器本身就比較復雜,依賴于Linux內核的很多特性,而且不易于安裝、管理、也不容易實現自動化 。
而Docker的出現就是為了改變這一切,讓容器技術變得簡單起來 。
什么是Docker
Eleght科技 docker是干什么的

文章插圖
簡單的一句話概括為:可將應用程序自動部署到容器的技術 。
它是用Go語言編寫的,并且是開源的 , GitHub地址:github.com/docker/docker
它提供簡單輕量的建模方式,Docker非常容易上手,用戶只要幾分鐘就可以把自己的程序docker化,大多數應用程序不超過一秒就可以運行起來 。就像我們剛開始時運行的一個Docker容器,一條命令就可以運行,啟動非常的快,由于Docker去除了應用程序的開銷,Docker擁有很高的性能,所以可以在Linux中運行多個容器,充分的利用主機資源 。
使用Docker后,開發人員只需要關心容器中運行的應用程序 , 運維人員只需要關心如何管理容器,Docker開發的主要目的就是給開發人員提供一個好的開發環境與應用程序要部署生產環境的一致性 。
Docker能做什么呢說了這么多,那么docker具體能做些什么呢?
1、使用Docker容器開發、測試、部署服務
2、創建隔離的運行環境
3、搭建測試環境
4、構建多用戶的平臺基礎設施,即Paas,上幾期中我們分享了云計算平臺Iaas的搭建方法,再往上一層就是Paas平臺了
5、就是軟件及服務的搭建,即Saas,也就是云計算平臺的最高層 。
6、高性能大規模的宿主機部署
好了,Docker的介紹就到這里了,小E下期會接著詳細分享Docker的搭建以及使用方法,更多內容就請關注Eleght科技!
Eleght科技 docker是干什么的

文章插圖