一篇文章帶你入門應用容器引擎Docker

什么是 Docker

Docker 最初是 dotCloud 公司創(chuàng)始人 Solomon Hykes 在法國期間發(fā)起的一個公司內部項目棱烂,它是基于 dotCloud 公司多年云服務技術的一次革新,并于 2013 年 3 月以 Apache 2.0 授權協議開源忽冻,主要項目代碼在 GitHub 上進行維護榨咐。Docker 項目后來還加入了 Linux 基金會天揖,并成立推動 開放容器聯盟(OCI)撑柔。

Docker 自開源后受到廣泛的關注和討論帆吻,至今其 GitHub 項目已經超過 4 萬 6 千個星標和一萬多個 fork普泡。甚至由于 Docker 項目的火爆播掷,在 2013 年底,dotCloud 公司決定改名為 Docker撼班。Docker 最初是在 Ubuntu 12.04 上開發(fā)實現的歧匈;Red Hat 則從 RHEL 6.5 開始對 Docker 進行支持;Google 也在其 PaaS 產品中廣泛應用 Docker砰嘁。

Docker 使用 Google 公司推出的 Go 語言 進行開發(fā)實現件炉,基于 Linux 內核的 cgroup勘究,namespace,以及 AUFS 類的 Union FS 等技術斟冕,對進程進行封裝隔離口糕,屬于 操作系統(tǒng)層面的虛擬化技術。由于隔離的進程獨立于宿主和其它的隔離的進程磕蛇,因此也稱其為容器景描。最初實現是基于 LXC,從 0.7 版本以后開始去除 LXC秀撇,轉而使用自行開發(fā)的 libcontainer超棺,從 1.11 開始,則進一步演進為使用 runC 和 containerd呵燕。

Docker 在容器的基礎上棠绘,進行了進一步的封裝,從文件系統(tǒng)再扭、網絡互聯到進程隔離等等氧苍,極大的簡化了容器的創(chuàng)建和維護。使得 Docker 技術比虛擬機技術更為輕便霍衫、快捷候引。

下面的圖片比較了 Docker 和傳統(tǒng)虛擬化方式的不同之處。傳統(tǒng)虛擬機技術是虛擬出一套硬件后敦跌,在其上運行一個完整操作系統(tǒng)澄干,在該系統(tǒng)上再運行所需應用進程;而容器內的應用進程直接運行于宿主的內核柠傍,容器內沒有自己的內核麸俘,而且也沒有進行硬件虛擬。因此容器要比傳統(tǒng)虛擬機更為輕便惧笛。


為什么要使用 Docker从媚?

作為一種新興的虛擬化方式,Docker 跟傳統(tǒng)的虛擬化方式相比具有眾多的優(yōu)勢患整。

更高效的利用系統(tǒng)資源

由于容器不需要進行硬件虛擬以及運行完整操作系統(tǒng)等額外開銷拜效,Docker 對系統(tǒng)資源的利用率更高。無論是應用執(zhí)行速度各谚、內存損耗或者文件存儲速度紧憾,都要比傳統(tǒng)虛擬機技術更高效。因此昌渤,相比虛擬機技術赴穗,一個相同配置的主機,往往可以運行更多數量的應用。

更快速的啟動時間

傳統(tǒng)的虛擬機技術啟動應用服務往往需要數分鐘般眉,而 Docker 容器應用了赵,由于直接運行于宿主內核,無需啟動完整的操作系統(tǒng)甸赃,因此可以做到秒級柿汛、甚至毫秒級的啟動時間。大大的節(jié)約了開發(fā)辑奈、測試苛茂、部署的時間。

一致的運行環(huán)境

開發(fā)過程中一個常見的問題是環(huán)境一致性問題鸠窗。由于開發(fā)環(huán)境妓羊、測試環(huán)境、生產環(huán)境不一致稍计,導致有些 bug 并未在開發(fā)過程中被發(fā)現躁绸。而 Docker 的鏡像提供了除內核外完整的運行時環(huán)境,確保了應用運行環(huán)境一致性臣嚣,從而不會再出現 「這段代碼在我機器上沒問題啊」 這類問題净刮。

持續(xù)交付和部署

對開發(fā)和運維(DevOps)人員來說,最希望的就是一次創(chuàng)建或配置硅则,可以在任意地方正常運行淹父。

使用 Docker 可以通過定制應用鏡像來實現持續(xù)集成、持續(xù)交付怎虫、部署暑认。開發(fā)人員可以通過 Dockerfile 來進行鏡像構建,并結合 持續(xù)集成(Continuous Integration) 系統(tǒng)進行集成測試大审,而運維人員則可以直接在生產環(huán)境中快速部署該鏡像蘸际,甚至結合 持續(xù)部署(Continuous Delivery/Deployment) 系統(tǒng)進行自動部署。

而且使用 Dockerfile 使鏡像構建透明化徒扶,不僅僅開發(fā)團隊可以理解應用運行環(huán)境粮彤,也方便運維團隊理解應用運行所需條件,幫助更好的生產環(huán)境中部署該鏡像姜骡。

更輕松的遷移

由于 Docker 確保了執(zhí)行環(huán)境的一致性导坟,使得應用的遷移更加容易。Docker 可以在很多平臺上運行圈澈,無論是物理機惫周、虛擬機、公有云士败、私有云,甚至是筆記本,其運行結果是一致的谅将。因此用戶可以很輕易的將在一個平臺上運行的應用漾狼,遷移到另一個平臺上,而不用擔心運行環(huán)境的變化導致應用無法正常運行的情況饥臂。

更輕松的維護和擴展

Docker 使用的分層存儲以及鏡像的技術逊躁,使得應用重復部分的復用更為容易,也使得應用的維護更新更加簡單隅熙,基于基礎鏡像進一步擴展鏡像也變得非常簡單稽煤。此外,Docker 團隊同各個開源項目團隊一起維護了一大批高質量的 官方鏡像囚戚,既可以直接在生產環(huán)境使用酵熙,又可以作為基礎進一步定制,大大的降低了應用服務的鏡像制作成本驰坊。

評估 Docker 的安全性時匾二,主要考慮三個方面:

由內核的命名空間和控制組機制提供的容器內在安全 Docker 程序(特別是服務端)本身的抗攻擊性 內核安全性的加強機制對容器安全性的影響

更多關于安全內容推薦:ISC大會關于-云計算虛擬化的一個分享

地址:https://www.aqniukt.com/course/182/tasks

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拳芙,隨后出現的幾起案子察藐,更是在濱河造成了極大的恐慌,老刑警劉巖舟扎,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件分飞,死亡現場離奇詭異,居然都是意外死亡睹限,警方通過查閱死者的電腦和手機譬猫,發(fā)現死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來邦泄,“玉大人删窒,你說我怎么就攤上這事∷衬遥” “怎么了肌索?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長特碳。 經常有香客問我诚亚,道長,這世上最難降的妖魔是什么午乓? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任站宗,我火速辦了婚禮,結果婚禮上益愈,老公的妹妹穿的比我還像新娘梢灭。我一直安慰自己夷家,他們只是感情好,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布敏释。 她就那樣靜靜地躺著库快,像睡著了一般。 火紅的嫁衣襯著肌膚如雪钥顽。 梳的紋絲不亂的頭發(fā)上义屏,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機與錄音蜂大,去河邊找鬼闽铐。 笑死,一個胖子當著我的面吹牛奶浦,可吹牛的內容都是我干的兄墅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼财喳,長吁一口氣:“原來是場噩夢啊……” “哼察迟!你這毒婦竟也來了?” 一聲冷哼從身側響起耳高,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤扎瓶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后泌枪,有當地人在樹林里發(fā)現了一具尸體概荷,經...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年碌燕,在試婚紗的時候發(fā)現自己被綠了误证。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡修壕,死狀恐怖愈捅,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情慈鸠,我是刑警寧澤蓝谨,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站青团,受9級特大地震影響譬巫,放射性物質發(fā)生泄漏。R本人自食惡果不足惜督笆,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一芦昔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧娃肿,春花似錦咕缎、人聲如沸珠十。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宵睦。三九已至,卻和暖如春墅诡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背桐智。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工末早, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人说庭。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓然磷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親刊驴。 傳聞我的和親對象是個殘疾皇子姿搜,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359