什么是Docker??
??Docker是一個輕量級虛擬機,也是一種Linux容器,它突破了以往的沙盒技術(shù),解放了應(yīng)用部署,讓PaaS的應(yīng)用場景更為廣泛。
?
docker是通過內(nèi)核虛擬化技術(shù)((namespaces及cgroups等),KVM呢是通過硬件虛擬化技術(shù),CPU支持的。)來提供容器的資源隔離與 安全保障等。
在非linux平臺是沒法使用docker的,因為他是基于內(nèi)核技術(shù)來實現(xiàn)資源隔離和安全保障的。
由于dockers通過操作系統(tǒng)層的虛擬化實現(xiàn)隔離,所以docker容器在運行的時候,不需要類似虛擬機(VM)額外的操作系統(tǒng)開銷,提高了資源的利用率。
我們知道openstack 的鏡像傳到glance ,那么docker是傳在dockerhub,一個私有的地方,誰有權(quán)訪問我就可以給它。
docker的組成
docker是一個傳統(tǒng)的CS結(jié)構(gòu)的架構(gòu):客戶端服務(wù)器。BS是什么呢?瀏覽器和服務(wù)器模式
三個組件: 鏡像(image) 、容器(container)、倉庫(repository)。
docker能干什么?
1、簡化配置
工作中有很多環(huán)境,比如測試環(huán)境,開發(fā)環(huán)境,性能測試,生產(chǎn)和預(yù)生產(chǎn),環(huán)境不一致,配置不一致會導(dǎo)致上線失敗,測試安裝了一個python的依賴,線上沒有,測試通過,上生產(chǎn)就開始報錯。(不能導(dǎo)入某個模塊,起不來了)。
docker可以簡化配置,做好一個鏡像,直接拿鏡像就起得來。openstack也能干這事,saltstack也可以做這些事。
docker解決的不是openstack的問題,應(yīng)該和RPM包進(jìn)行對比或者saltstack來對比。
saltstack就可以簡化環(huán)境,一條命令解決。
2、代碼流水線管理
從開發(fā)環(huán)境直到生產(chǎn)環(huán)境,Docker為應(yīng)用程序提供了始終一致的環(huán)境,因而簡化了代碼開發(fā)和部署流水線。 Docker映像不可改變的特性以及易于構(gòu)建,可以幫助你實現(xiàn)從開發(fā)環(huán)境直到生產(chǎn)環(huán)境,應(yīng)用程序的運行環(huán)境都不發(fā)生變化。
3、開發(fā)效率
開發(fā)人員入職第一天配環(huán)境,用docker鏡像構(gòu)建好,需要啥都裝好,RUN起來就完事。
openstack也可以做,給個虛擬鏡像就完事。給個IP地址,用戶密碼SSH上去就完事
4、應(yīng)用隔離
虛擬機是完全隔離,docker只是一個隔離,只是沒有占用資源
5、整合服務(wù)器
服務(wù)器可以跑多個容器來提高利用率,但是也可以其多個虛擬機進(jìn)程
6、debug能力
docker開發(fā)想調(diào)試很難,虛擬機想怎么調(diào)都可以
7、多租戶
openstack設(shè)計就是多租戶,一個租戶可以有多個用戶
8、快速部署
在虛擬機出現(xiàn)之前,配置新的硬件資源需要數(shù)天。虛擬化將這個時間縮短到了幾分鐘。Docker更是縮短到了短短幾秒鐘,因為它只需要為這個過程創(chuàng)建容器,并不啟動操作系統(tǒng)。正是這項支持性技術(shù),促使谷歌和Facebook使用容器。docker是秒級,體積小,完勝openstack。
使用docker的幾個理由:
1、技術(shù)儲備
2、跟上潮流
3、符合當(dāng)前業(yè)務(wù)需求
大多數(shù)都是第2個,很少說有業(yè)務(wù)需求的。
轉(zhuǎn)載于:https://www.cnblogs.com/linuxaliang/p/8569240.html
總結(jié)
以上是生活随笔為你收集整理的什么是Docker??的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第一次作业源于计科一班的王相博
- 下一篇: Spring MVC —— 前后台传递J