區別:tomcat和docker不是同一種類型;docker是容器,tomcat是jsp應用服務器。tomcat可以安裝在物理機上,虛擬機上,也可以安裝在Docker上;所以從這個角度講,Docker也可以看做是一種超輕量化的虛擬機。
兩者不是同一種類型。
1、docker是容器,tomcat是jsp應用服務器
2、tomcat可以安裝在物理機上,虛擬機上,也可以安裝在Docker上。所以從這個角度講,Docker也可以看做是一種超輕量化的虛擬機。
3、Docker可以安裝在物理機,虛擬機上,但不知道Docker上面是否可以再安裝Docker,我覺得理論上應該可以。
4、Docker作為超輕量級的平臺,可以整體移植,這也是它流行的其中一個原因。
Docker 提供輕量的虛擬化,你能夠從Docker獲得一個額外抽象層,你能夠在單臺機器上運行多個Docker微容器,而每個微容器里都有一個微服務或獨立應用,例如你可以將Tomcat運行在一個Docker,而MySQL運行在另外一個Docker,兩者可以運行在同一個服務器,或多個服務器上。未來可能每個應用都要Docker化。
Docker的八種用途
Docker 提供輕量的虛擬化,你能夠從Docker獲得一個額外抽象層,你能夠在單臺機器上運行多個Docker微容器,而每個微容器里都有一個微服務或獨立應用,例如你可以將Tomcat運行在一個Docker,而MySQL運行在另外一個Docker,兩者可以運行在同一個服務器,或多個服務器上。未來可能每個應用都要Docker化。
容器的啟動和關系是非常快速的。Docker目前能夠有以下七種用途:
-
簡化配置
這是Docker初始目的,虛擬機VM最大的好處是基于你的應用配置能夠無縫運行在任何平臺上。Docker提供同樣類似VM的能力,但是沒有任何副作用,它能讓你將環境和配置放入代碼然后部署,同樣的Docker配置能夠在各種環境中使用,這實際是將應用環境和底層環境實現了解耦。
-
代碼管道化管理
能夠對代碼以流式pipeline管道化進行管理,從開發者的機器到生產環境機器這個流程中都能有效管理。因為在這個流程中會有各種不同的環境,每個都可能有微小的區別,Docker提供了跨越這些異構環境以一致性的微環境,從開發到部署實現流暢發布。
-
開發人員的生產化
在一個開發環境,我們希望我們的開發環境能更加接近于生產環境,我們會讓每個服務運行在自己的VM中,這樣能模擬生產環境,比如有時我們并不總是需要跨越網絡連接,這樣我們可以將多個Docker裝載一系列服務運行在單機上最大程度模擬生產分布式部署的環境。
-
應用隔離
有很多理由你需要在一臺機器上運行多個應用,這就需要將原來鐵板一塊monolithic的應用切分為很多微服務。實現應用之間的解耦,將多個應用服務部署在多個Docker中能輕松達到這個目的。
-
服務合并
使用Docker也能合并多個服務以降低費用,不多的操作系統內存占用,跨實例共享多個空閑的內存,這些技術Docker能以更加緊密資源提供更有效的服務合并。
-
多租戶
Docker能夠作為云計算的多租戶容器,使用Docker能容易為每個租戶創建運行應該多個實例,這得益其靈活的快速環境以及有效diff命令。
-
快速部署
Docker通過創建流程的容器,不必重新啟動操作系統,幾秒內能關閉,你可以在數據中心創建或銷毀資源,不用擔心額外消耗。典型的數據中心利用率是30%,通過更積極的資源分配,以低成本方式對一個新的實例實現一個更聚合的資源分配,我們很容易超過這個利用率,大大提高數據中心的利用效率。