好程式設計師Java分享為什麼要使用Docker

2021-09-24 21:29:07 字數 1214 閱讀 3253

由於容器不需要進行硬體虛擬以及執行完整作業系統等額外開銷,docker 對系統資源的利用率更高。無論是應用執行速度、記憶體損耗或者檔案儲存速度,都要比傳統虛擬機器技術更高效。因此,相比虛擬機器技術,乙個相同配置的主機,往往可以執行更多數量的應用。

傳統的虛擬機器技術啟動應用服務往往需要數分鐘,而 docker 容器應用,由於直接執行於宿主核心,無需啟動完整的作業系統,因此可以做到秒級、甚至毫秒級的啟動時間。大大的節約了開發、測試、部署的時間。

開發過程中乙個常見的問題是環境一致性問題。由於開發環境、測試環境、生產環境不一致,導致有些 bug 並未在開發過程中被發現。而 docker 的映象提供了除核心外完整的執行時環境,確保了應用執行環境一致性,從而不會再出現 「這段**在我機器上沒問題啊」 這類問題。

對開發和運維(devops)人員來說,最希望的就是一次建立或配置,可以在任意地方正常執行。

使用 docker 可以通過定製應用映象來實現持續整合、持續交付、部署。開發人員可以通過 dockerfile 來進行映象構建,並結合持續整合(continuous integration) 系統進行整合測試,而運維人員則可以直接在生產環境中快速部署該映象,甚至結合 持續部署(continuous delivery/deployment) 系統進行自動部署。

而且使用 dockerfile 使映象構建透明化,不僅僅開發團隊可以理解應用執行環境,也方便運維團隊理解應用執行所需條件,幫助更好的生產環境中部署該映象。

由於 docker 確保了執行環境的一致性,使得應用的遷移更加容易。docker 可以在很多平台上執行,無論是物理機、虛擬機器、公有雲、私有雲,甚至是筆記本,其執行結果是一致的。因此使用者可以很輕易的將在乙個平台上執行的應用,遷移到另乙個平台上,而不用擔心執行環境的變化導致應用無法正常執行的情況。

docker 使用的分層儲存以及映象的技術,使得應用重複部分的復用更為容易,也使得應用的維護更新更加簡單,基於基礎映象進一步擴充套件映象也變得非常簡單。此外,docker 團隊同各個開源專案團隊一起維護了一大批高質量的官方映象,既可以直接在生產環境使用,又可以作為基礎進一步定製,大大的降低了應用服務的映象製作成本。

特性

容器

虛擬機器啟動

秒級分鐘級

硬碟使用

一般為 mb

一般為 gb

效能接近原生

弱於系統支援量

單機支援上千個容器

一般幾十個

Java程式設計師為什麼會有職業瓶頸?

2019年初,俗話說 金三銀四 這時候面試不知道你們慌不慌張。因為2018年冬天是寒冷的。其實18年的低溫持續時間不算很長,我也沒有披上軍大衣。但是突如其來的網際網路寒冬影響了不少人,網際網路寒冬當然主要受影響的就是程式設計師了。回顧過往,2017年是網際網路高速發展的一年,共享經濟僅僅乙個概念就成...

程式設計師為什麼跳槽

程式設計師頻繁跳槽似乎成了乙個不可避免的現象。很多 請來所謂的職業分析人士,人力資源管理者座談,分析 看了看,多數屬於小兒科,很少有真正從乙個程式設計師的角度和眼光去看問題的。我認為,乙個程式設計師跳槽根本的原因,主要是公司團隊問題,其次是公司企業文化問題。很多人只看到了薪金問題這個表象,事實是,薪...

程式設計師為什麼浮躁

現在的軟體公司的老闆或領導經常會問這句話 程式什麼浮躁?我想在現今的中國,不但是程式設計師浮躁,而且各行個業的從業人員都很浮躁。猶以80後表現更甚。我自己是一名程式設計師,我也很浮躁。所以我一直在苦苦思考這個問題 我想這裡面可能有以下幾個方面的原因吧。第一 由於中國的企業包括程式設計師就業的軟體公司...