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