成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java開發人員需要注意的五大Docker誤區

云計算
Docker現在很火,容器技術看上不無所不能,但這實際上是一種誤解,不要被炒作出來的泡沫迷住雙眼,本文拋去炒作,理性地從Java程序員的角度,列舉出Docker目前的五大誤區,幫助你更好地理解Docker的優勢和問題。

Docker現在很火,容器技術看上不無所不能,但這實際上是一種誤解,不要被炒作出來的泡沫迷住雙眼,本文拋去炒作,理性地從Java程序員的角度,列舉出Docker目前的五大誤區,幫助你更好地理解Docker的優勢和問題。

拋去那些媒體和廠商們的炒作,我們如何才能更好更理性的使用Docker?

Docker最近備受關注,原因顯而易見。如何成功交付代碼一直困擾著大家。傳統的容器技術在眾多需求和模板中亂成一團。而Docker可以簡單且重復的創建容器。相比其它容器,使用Docker可以更快、更自然的交付代碼。Duang,Docker火了!隨之而來也有一些誤解和誤區。不要太相信別人說Docker好用或者不好用。自己理性地全面思考一下Docker,會幫助你真正理解是否真的需要它。

本文列舉了從Java角度的五大Docker誤讀。不過首先介紹些背景知識。為了更好地理解Docker,我們咨詢了Fewbytes的Avishai Ish-Shalom,他有豐富的Docker經驗,也是DevOps Days會議的組織者。我們和他一起列舉出了這些誤解。

主要誤區

1. Docker是輕量級虛擬機

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

在使用Docker之前,必須了解Docker容器和虛擬機有很多本質的區別。

資源隔離:Docker達不到虛擬機所能提供的資源隔離水平。虛擬機的資源是高度隔離的,而Docker從設計之初就需要共享一些資源,這些資源是Docker無法隔離和保護的,比如頁緩存和entropy池。(注:entropy池很有趣,entropy池收集并且存儲系統操作生成的隨機比特。機器在需要隨機化時(比如密碼相關)使用這個池。)如果Docker容器占用了這些共享資源,那么其他進程在這些資源被釋放前只能等待。

開銷:大多數人都知道虛擬機的CPU和RAM能提供類似物理機的性能,但是有很多額外的IO開銷。因為放棄了虛擬機的guest OS,Docker的package更小,比起虛擬機需要更少的存儲開銷。但這并不意味著Docker沒有任何開銷問題。Docker容器依然需要注意IO開銷的問題,只不過沒有虛擬機嚴重而已。

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

2. Docker使得應用可擴展

因為Docker可以在很短的時間內在很多服務器上部署代碼,自然有人會覺得Docker使得應用自身變得可擴展。不幸的是,這是錯誤的。代碼構成應用,而Docker并不會重寫代碼。應用的可擴展性依然取決于程序員。使用Docker并不會自動得讓你的代碼易于擴展,只是讓這些代碼更容易跨服務器部署而已。

3. Docker在生產環境廣為使用

因為Docker勢頭正勁,很多人便認為Docker已經在生產環境廣為使用。事實上,這是不對的。注意Docker還是很新的技術,還不成熟,正在成長,這意味著還有很多煩人的bug和缺乏的功能。對新技術感興趣這沒錯,但是最好要弄清楚新技術的正確使用場景和需要注意和妥協之處。現在,Docker很容易應用到開發環境。使用Docker可以很容易地搭建出很多不同的環境(至少,給人的感覺是能夠搭建出不同的環境),這對于開發很有用。

而在生產環境里,新技術的成長陣痛限制了使用場景。比如,Docker不直接支持對多機器的網絡和資源的監控,這使得幾乎無法用在生產環境里。當然也有很多有潛力的地方,比如可以將同一個package從開發環境直接部署到生產環境。還有一些Docker運行時特性對于生產環境也很有用。但是總的來說,在生產環境里,目前限制多于優勢。這并不是說無法成功運用到生產環境,只是現在還不能指望它一下子成熟和完備。

4. Docker是跨OS的

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

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

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

5. Docker增強應用的安全性

覺得Docker可以改進代碼和交付代碼過程的安全性,這也是誤解。這也是真實的集裝箱和軟件上容器的差別。Docker是一種容器化技術,添加了編排方法。但是Linux的容器有一些安全漏洞可能會被攻擊。Docker并沒有為這些漏洞添加任何安全層或者補丁。它還不是能保護應用的鐵布衫。

#p#

從Java角度看

Docker在Java開發人員中已經有些應用。Docker的某些特性讓我們更容易構建可擴展的上下文。不像uber-jar,Docker可以幫助你將所有的依賴(包括JVM!)打包到一個隨時可發布的鏡像里。這是Docker吸引廣大開發人員的重要特性。但是,這也會帶來一些隱患。一般來說,程序員需要用不同的方式和代碼交互 - 監控它,調試它,鏈接它,調優它。。。如果使用Docker,這些都會需要額外的工作。

比如,我們想使用jconsole,它依賴于JMX功能,JMX因為要使用RMI又需要網絡。使用Docker的話就不是很直接,需要一些技巧去開啟所需端口。我們最初發現這個問題是當我們想要構建Takipi的Docker安裝器,我們不得不在容器里JVM之外運行了一個后臺程序。詳細的解決方案在GitHub上。

另外一個很嚴重的問題是Docker容器的性能調優相當困難。當使用容器時,你不知道每個容器到底會分配多少內存。如果你有20個容器,內存會以你不確定的方式分配給它們。如果你打算用參數-Xmx調優堆的大小,就很困難,因為對Docker容器內JVM的處理取決于能夠自動得到該容器分配到的內存大小。如果都不知道分配了多少內存,性能調優幾乎不可能。

結論

Docker是很有意思的技術,有一些真實有效的使用場景。作為一個新興技術,還需要大量時間來解決缺失的功能和已知的bug。但是,現在這個領域的確有很多的炒作。不過記住哦,炒作可不是成功~

原文鏈接:http://dockerone.com/article/236

責任編輯:Ophira 來源: dockerone
相關推薦

2016-04-19 10:23:48

2022-04-30 08:58:00

SpringJava開發

2010-10-27 09:33:18

MVC開發

2023-12-28 09:54:22

Java內存開發

2012-06-13 01:37:40

JSPJava

2013-01-10 10:30:36

云開發

2019-07-19 11:27:42

Java程序員技術

2022-09-12 15:51:38

JavaScrip開發編程語言

2013-03-26 10:45:00

2024-11-08 15:22:08

2020-06-27 08:46:09

DenoNodeJavascript

2020-07-28 07:00:00

DockerDocker Comp

2011-03-31 10:22:41

Java開發

2011-07-10 15:18:11

開發

2010-02-24 13:45:40

Python開發人員

2019-07-12 13:59:21

Docker軟件技術

2009-04-03 14:36:05

Java問卷調查開源

2022-12-29 08:27:03

Java開發人員編碼

2017-10-24 11:59:41

JavaScript

2015-07-09 15:35:22

開發人員開源技術熱點
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美情趣视频 | 亚洲永久入口 | 久久久久国产一区二区三区四区 | 国产清纯白嫩初高生视频在线观看 | 中文字幕 亚洲一区 | 成人免费看黄网站在线观看 | 在线免费观看黄视频 | 成人在线中文字幕 | 国产成人在线视频 | 欧美一区2区三区4区公司二百 | 精品国产精品国产偷麻豆 | 九九久视频 | av电影手机在线看 | 视频在线一区 | 一区中文字幕 | 国产精品国色综合久久 | 婷婷在线视频 | 91精品国模一区二区三区 | 国产精品免费一区二区三区 | 亚洲精品在线免费看 | 欧美黄色一区 | 色性av| 国产一区二区视频免费在线观看 | 91影院在线观看 | 国产探花在线精品一区二区 | 国产成人精品区一区二区不卡 | 九七午夜剧场福利写真 | 国产分类视频 | 91免费电影 | 狠狠干五月天 | 亚洲国产二区 | av大片 | 精品久久久久久18免费网站 | 午夜影视大全 | 欧美区日韩区 | 一级视频黄色 | 国产精品久久毛片av大全日韩 | 一区二区三区四区视频 | 国产精品久久久久久久久图文区 | 欧美午夜精品理论片a级按摩 | 欧美成人精品一区 |