无码人妻A片一区二区三区_18禁裸乳无遮挡啪啪无码免费_91精品亚?影视在线?看_人人妻人人爽人人澡AV_国产精品人妻一区二区三区四区_午夜免费影视

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 軟件研發(fā) > Java開發(fā)人員應(yīng)注意的Docker認(rèn)識誤區(qū)

Java開發(fā)人員應(yīng)注意的Docker認(rèn)識誤區(qū)

2017-01-19 16:54:44 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)

Docker最近備受關(guān)注,在Docker快速發(fā)展的當(dāng)下,很多技術(shù)人員對Docker的認(rèn)識還存在一些誤區(qū),中培偉業(yè)《企業(yè)級Java高級開發(fā)最佳實(shí)踐》培訓(xùn)專家李老師在這里對相關(guān)的誤區(qū)進(jìn)行了詳細(xì)介紹。


誤區(qū)一: Docker是輕量級虛擬機(jī)


這是大家初學(xué)Docker時最主要的誤解。這種誤解倒也情有可原,Docker的確看上去有點(diǎn)像虛擬機(jī)。Docker網(wǎng)站上甚至有人比較了Docker和虛擬機(jī)的區(qū)別。但是,Docker實(shí)際上不是輕量級虛擬機(jī),而是改進(jìn)了的Linux容器(LXC)。Docker和虛擬機(jī)是完全不一樣的,如果你把Docker容器當(dāng)成輕量級虛擬機(jī)來用,會遇到很多問題。


在使用Docker之前,必須了解Docker容器和虛擬機(jī)有很多本質(zhì)的區(qū)別。


資源隔離:Docker達(dá)不到虛擬機(jī)所能提供的資源隔離水平。虛擬機(jī)的資源是高度隔離的,而Docker從設(shè)計(jì)之初就需要共享一些資源,這些資源是Docker無法隔離和保護(hù)的,比如頁緩存和內(nèi)核熵池。如果Docker容器占用了這些共享資源,那么其它進(jìn)程在這些資源被釋放前只能等待。


開銷:大多數(shù)人都知道虛擬機(jī)的CPU和RAM能提供類似物理機(jī)的性能,但是有很多額外的IO開銷。因?yàn)榉艞壛颂摂M機(jī)的guest OS,Docker的package更小,比起虛擬機(jī)需要更少的存儲開銷。但這并不意味著Docker沒有任何開銷問題。Docker容器依然需要注意 IO開銷的問題,只不過沒有虛擬機(jī)嚴(yán)重而已。


內(nèi)核使用:Docker容器和虛擬機(jī)在內(nèi)核使用上完全不同。每個虛擬機(jī)使用一個內(nèi)核。Docker容器則是在所有容器間共享內(nèi)核。共享內(nèi)核帶來一些 效率的提升,但是以高可用和冗余為代價。如果虛擬機(jī)發(fā)生了內(nèi)核崩潰,只有這個內(nèi)核上的虛擬機(jī)會受影響。而Docker容器如果內(nèi)核崩潰了,所有的容器都會 受影響。


誤區(qū)二. Docker使得應(yīng)用可擴(kuò)展


因?yàn)镈ocker可以在很短的時間內(nèi)在多個服務(wù)器上部署代碼,自然有人會覺得Docker可以讓應(yīng)用自身變得可擴(kuò)展。不幸的是,這是錯誤的。代碼是 應(yīng)用的基石,而Docker并不會重寫代碼。應(yīng)用的可擴(kuò)展性依然取決于程序員。使用Docker并不會自動得讓你的代碼易于擴(kuò)展,只是讓這些代碼更容易跨 服務(wù)器部署而已。


誤區(qū)三. Docker在生產(chǎn)環(huán)境廣為使用


因?yàn)镈ocker勢頭正勁,很多人便認(rèn)為Docker可以在生產(chǎn)環(huán)境上大規(guī)模使用。事實(shí)上,這是不對的。注意Docker還是很新的技術(shù),還不成 熟,正在成長,這意味著還有很多煩人的bug和待完善的功能。對新技術(shù)感興趣這沒錯,但是最好要弄清楚新技術(shù)的正確使用場景和需要注意的地方。現(xiàn) 在,Docker很容易應(yīng)用到開發(fā)環(huán)境。使用Docker可以很容易地搭建出很多不同的環(huán)境(至少,給人的感覺是能夠搭建出不同的環(huán)境),這對于開發(fā)很有 用。


而在生產(chǎn)環(huán)境中,Docker的不成熟和不完善也限制了使用場景。比如,Docker不直接支持對多機(jī)器的網(wǎng)絡(luò)和資源的監(jiān)控,這使得它幾乎無法在生 產(chǎn)環(huán)境中使用。當(dāng)然也有很多有潛力的地方,比如可以將同一個package從開發(fā)環(huán)境直接部署到生產(chǎn)環(huán)境。還有一些Docker運(yùn)行時特性對于生產(chǎn)環(huán)境也 很有用。但是總的來說,在生產(chǎn)環(huán)境里,目前不足多于優(yōu)勢。這并不是說無法成功運(yùn)用到生產(chǎn)環(huán)境,只是現(xiàn)在還不能指望它一下子成熟和完美。


誤區(qū)四: Docker是跨OS的


另一個誤解是Docker在任意操作系統(tǒng)和環(huán)境上都可以工作。這可能來自于裝卸貨物的集裝箱的類比,但是軟件和操作系統(tǒng)的關(guān)系可不像船位那么簡單直接。


實(shí)際上,Docker只是Linux上的技術(shù)。并且Docker依賴特定的內(nèi)核特性,必須要有最新版本的內(nèi)核才行。基于不同OS的差異性,跨OS 時,如果使用的不是最底層通用的特性,會遇到很多麻煩的問題。這些問題可能只有1%的發(fā)生率,但是當(dāng)你在多臺服務(wù)器上部署時,1%也是致命的。


雖然Docker只在Linux上運(yùn)行,但是也可以在OS X或者Windows上使用Docker。使用boot2docker會在OS X或Windows機(jī)器上運(yùn)行一個Linux虛擬機(jī),這樣Docker可以在這個虛擬機(jī)里運(yùn)行。


誤區(qū)五: Docker增強(qiáng)應(yīng)用的安全性


覺得Docker可以改進(jìn)代碼和交付代碼過程的安全性,這也是誤解。這也是真實(shí)的集裝箱和軟件上容器的差別。Docker是一種容器化技術(shù),添加了 編排方法。但是Linux的容器有一些安全漏洞可能會被攻擊。Docker并沒有為這些漏洞添加任何安全層或者補(bǔ)丁。


從Java角度看


一些Java開發(fā)人員已經(jīng)開始使用Docker。Docker的某些特性讓我們更容易構(gòu)建可擴(kuò)展的上下文環(huán)境。不像uber-jar,Docker 可以幫助你將所有的依賴(包括JVM)打包到一個隨時可發(fā)布的鏡像中。這也是Docker對于開發(fā)人員來說最迷人的地方。但是,這也會帶來一些隱患。一般 來說,程序員需要用不同的方式和代碼交互 – 監(jiān)控它,調(diào)試它,連接它,調(diào)優(yōu)它….如果使用Docker,這些都會需要額外的工作。


另外一個很嚴(yán)重的問題是Docker容器的性能調(diào)優(yōu)相當(dāng)困難。當(dāng)使用容器時,你不知道每個容器到底會分配多少內(nèi)存。如果你有20個容器,內(nèi)存會以你 不確定的方式分配給它們。如果你打算用參數(shù)-Xmx調(diào)優(yōu)堆的大小,就很困難,因?yàn)閷ocker容器內(nèi)JVM的處理取決于能夠自動得到該容器分配到的內(nèi)存 大小。如果都不知道分配了多少內(nèi)存,性能調(diào)優(yōu)幾乎不可能。

標(biāo)簽: Java開發(fā)
主站蜘蛛池模板: 男女视频91| 国产午夜精品一区二区三区在线观看 | 日本免费人成视频播放 | 91视频免费?看网址 韩国美女三级 | 毛片24种姿势无遮无拦 | 亚洲青青草| 日韩午夜精品免费理论片 | 成人国产亚洲精品A区天堂 女人15一17毛片 | 国产又黄又爽又刺激的免费网址 | 欧美成人免费全部网站 | 综合日韩av | 中文字幕久久精品一区二区 | xxxxxxxxxxxxxxxx日本 | 深夜视频免费在线观看 | A级毛片高清免费视频播放出要看 | 2019中文字幕在线视频 | 蜜臀一二三 | 日韩精选一区 | 精品人妻无码区在线视频 | 国产wwwxxxx| 国产精品19p | 亚洲品质自拍视频网站 | 亚洲网国产 | 亚洲精品国| 免费在线播放黄色网址 | 日韩成人精品一区二区三区 | 亚洲午夜精品无码专区在线观看 | free性满足hd国产精品久 | 亚洲第十页| 69福利视频| 免费在线播放毛片 | 亚洲熟妇av一区二区三区浪潮 | 久久久久久免费女人体 | 国产高潮国产高潮久久久91 | 制服在线无码专区 | 国产免费一区二区三区香蕉精 | 日韩人成视频一区二区 | 国产偷v在线精品 | 娇妻在厨房被朋友玩得呻吟 | 熟女熟妇人妻在线视频 | 国产足浴漂亮丰满技师av |