簡體   English   中英

是否有必要在Java中使用Docker?

[英]Is it necessary to use Docker in Java?

由於Docker是當前非常熱門的技術,但我只是想知道Java是否必要? 我在下面列出了我的原因,歡迎任何反饋:

  • JVM就像VM,將應用程序與OS分開
  • Maven,管理依賴項
  • Spring Boot,支持嵌入tomcat之類的J2EE servelet容器,所有應用程序都可以作為標准JAR文件輸出。

因此,除了需要自己安裝JDK之外,其他所有內容都是一致且井井有條的。 我將Java和Docker進行如下比較:

  • JAR->圖片
  • JVM->虛擬機

那么,Docker對Java真的意味着什么?

Docker對於Java而言不是必需的。 您可以在操作系統上運行JVM,而無需擔心Docker。

Docker與JVM相似之處在於它們都是虛擬化級別,但是將Docker提供的虛擬化與JVM相同可能沒有幫助。 Docker實際上是將多個應用程序/服務打包到可移植容器中的便捷工具。 它允許您在多個可能不同的計算機上構建相同的虛擬環境,或者銷毀虛擬環境並重新啟動它。

如果使用不同版本的JVM運行jar文件,則可能會得到不同的結果。 例如,如果jar包含Java 8函數,但您嘗試在Java 7 VM上運行,則會遇到異常。 Docker的要點是您可以控制版本,因此不會發生這種情況。

要看。 您的代碼有多少版本支持? 您如何部署代碼? 您是否使用Java以外的任何數據庫和庫?

Docker主要是為了簡化開發流程,即使一個開發人員的機器與其他開發人員的機器不同。 盡管Java通過使用jvm來解決此問題,但請考慮以下情況:您使用的是Java新版本上的函數,而您的同級計算機上卻有Java舊版本。 上帝禁止它為您服務。

當您與Java應用程序一起啟動其他服務時,同樣適用。 它們將是將進行版本控制的數據庫和其他服務。 盡管Java內部庫本身由maven維護,但是它們無法控制您依賴的其他服務。

簡而言之,不,對於Java而言,Docker並不是必需的。 實際上,對於任何語言而言,它都是不必要的。 它只是在多個開發人員,生產和其他服務之間建立了一致性,因此很受歡迎。

您不必在Java中使用Docker,但不必出於您給出的原因。

Docker與JVM不同! Docker的目的是要有一個隔離的,易於部署的環境,該環境可以從外部進行配置,並且可以輕松啟動,停止和克隆。

Docker與其他虛擬化技術(例如VirtualBox或VMWare)相似,但絕對不是JVM。

您可以使用Docker選擇您的操作系統,防火牆設置,JVM版本等等。 您可以使用Docker部署1個或1000個版本的軟件。 您可以使用Docker為客戶或同事提供完整的工作環境。

JVM不會這樣做。

哦,還有安全隱患。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM