1.問題
1.不同的應(yīng)用程序可能會(huì)有不同的應(yīng)用環(huán)境胳搞,比如.net開發(fā)的網(wǎng)站和php開發(fā)的網(wǎng)站依賴的軟件就不一樣主经,如果把他們依賴的軟件都安裝在一個(gè)服務(wù)器上就要調(diào)試很久头遭,而且很麻煩蛔糯,還會(huì)造成一些沖突垢袱。。這個(gè)時(shí)候你就要隔離.net開發(fā)的網(wǎng)站和php開發(fā)的網(wǎng)站硼控。常規(guī)來講刘陶,我們可以在服務(wù)器上創(chuàng)建不同的虛擬機(jī)在不同的虛擬機(jī)上放置不同的應(yīng)用,但是虛擬機(jī)開銷比較高牢撼。
2.你開發(fā)軟件的時(shí)候用的是Ubuntu匙隔,但是運(yùn)維管理的都是centos,運(yùn)維在把你的軟件從開發(fā)環(huán)境轉(zhuǎn)移到生產(chǎn)環(huán)境的時(shí)候就會(huì)遇到一些Ubuntu轉(zhuǎn)centos的問題熏版,比如:有個(gè)特殊版本的數(shù)據(jù)庫纷责,只有Ubuntu支持,centos不支持撼短,在轉(zhuǎn)移的過程當(dāng)中運(yùn)維就得想辦法解決這樣的問題再膳。
3.搭建集群。需要多臺(tái)服務(wù)器曲横,首先想到的是安裝虛擬機(jī)喂柒,模擬多臺(tái)服務(wù)器去搭建集群,這個(gè)時(shí)候胜榔,就得在每臺(tái)服務(wù)器上去配置相同的環(huán)境胳喷,然后再去啟動(dòng)每臺(tái)服務(wù),步驟很是繁瑣并且啟動(dòng)會(huì)特別慢
2. 解決方法
使用 docker
什么是 Docker?
3. docker 的歷史
2010年,幾個(gè)搞IT的年輕人,在美國舊金山成立了一家名叫“dotCloud”的公司也颤。
這家公司主要是做 linux 容器虛擬技術(shù)的
后來柬姚,dotCloud公司將自己的容器技術(shù)進(jìn)行了簡化和標(biāo)準(zhǔn)化,并命名為——Docker泥兰。
Docker技術(shù)誕生之后弄屡,并沒有引起行業(yè)的關(guān)注。而dotCloud公司鞋诗,作為一家小型創(chuàng)業(yè)企業(yè)膀捷,在激烈的競爭之下,也步履維艱削彬。
正當(dāng)他們快要堅(jiān)持不下去的時(shí)候全庸,腦子里蹦出了“開源”的想法。
2013年3月融痛,Docker之父 ----> 28歲的Solomon?Hykes正式?jīng)Q定壶笼,將Docker項(xiàng)目開源。
越來越多的IT工程師發(fā)現(xiàn)了Docker的優(yōu)點(diǎn)雁刷,然后蜂擁而至覆劈,加入Docker開源社區(qū)。
然后就火了。
2014年4月9日责语,Docker1.0發(fā)布炮障!
在容器技術(shù)之前,業(yè)界的網(wǎng)紅是虛擬機(jī)坤候。虛擬機(jī)技術(shù)的代表铝阐,是VMWare
虛擬機(jī)屬于虛擬化技術(shù)。而Docker這樣的容器技術(shù)铐拐,也是虛擬化技術(shù)徘键,屬于輕量級(jí)的虛擬化。
虛擬機(jī)雖然可以隔離出很多“子電腦”遍蟋,但占用空間更大吹害,啟動(dòng)更慢,虛擬機(jī)軟件可能還要花錢(例如VMWare)
而容器技術(shù)恰好沒有這些缺點(diǎn)虚青。它不需要虛擬出整個(gè)操作系統(tǒng)它呀,只需要虛擬一個(gè)小規(guī)模的環(huán)境
它啟動(dòng)時(shí)間很快,幾秒鐘就能完成棒厘。而且纵穿,它對資源的利用率很高(一臺(tái)主機(jī)可以同時(shí)運(yùn)行幾千個(gè)Docker容器)此外,它占的空間很小奢人,虛擬機(jī)一般要幾GB到幾十GB的空間谓媒,而容器只需要MB級(jí)甚至KB級(jí)。
4.深入認(rèn)識(shí) docker
要知道 兩句口號(hào)
-
Build, Ship and Run (搭建何乎,發(fā)送句惯,運(yùn)行)
- Build?once,Run?anywhere(搭建一次支救,到處能用)
Docker技術(shù)的三大核心概念抢野,分別是:
鏡像(Image)
容器(Container)
倉庫(Repository)
那個(gè)放在包里的“鏡像”,就是Docker鏡像
而我的背包各墨,就是Docker倉庫
我在空地上指孤,用魔法造好的房子,就是一個(gè)Docker容器