Docker是什麼?使用Docker的好處有哪些?
本文由小千帶大家瞭解Docker是什麼,Docker和傳統虛擬化對比的區別,Docker架構是怎樣的,Docker的作用以及使用Docker的好處有哪些?
Docker是什麼
1.1 什麼是 Docker
docker是一個開源的軟體部署解決方案;
docker也是輕量級的應用容器框架;
docker可以打包、釋出、執行任何的應用。
Docker 最初是 dotCloud 公司創始人 Solomon Hykes 在法國期間發起的一個公司內部專案,它是基於 dotCloud 公司多年雲服務技術的一次革新,並於 2013 年 3 月以 Apache 2.0 授權協議開源,主要專案程式碼在 GitHub 上進行維護。Docker 專案後來還加入了 Linux 基金會,併成立推動 開放容器聯盟(OCI)。
Docker 自開源後受到廣泛的關注和討論,至今其 GitHub 專案已經超過 4 萬 6 千個星標和一萬多個 fork。甚至由於 Docker 專案的火爆,在 2013 年底,dotCloud 公司決定改名為 Docker。Docker 最初是在 Ubuntu 12.04 上開發實現的;Red Hat 則從 RHEL 6.5 開始對 Docker 進行支援;Google 也在其 PaaS 產品中廣泛應用 Docker。
Docker 使用 Google 公司推出的 Go 語言 進行開發實現,基於 Linux 核心的 cgroup,namespace,以及 AUFS 類的 Union FS 等技術,對程式進行封裝隔離,屬於 作業系統層面的虛擬化技術。由於隔離的程式獨立於宿主和其它的隔離的程式,因此也稱其為容器。最初實現是基於 LXC,從 0.7 版本以後開始去除 LXC,轉而使用自行開發的 libcontainer,從 1.11 開始,則進一步演進為使用 runC 和 containerd。
Docker 在容器的基礎上,進行了進一步的封裝,從檔案系統、網路互聯到程式隔離等等,極大的簡化了容器的建立和維護。使得 Docker 技術比虛擬機器技術更為輕便、快捷。
1.2 Docker和傳統虛擬化對比 Docker 跟傳統的虛擬化方式相比具有眾多的優勢。
Docker 在如下幾個方面具有較大的優勢:
更快速的交付和部署
Docker在整個開發週期都可以完美的輔助你實現快速交付。Docker允許開發者在裝有應用和服務本地容器做開發。可以直接整合到可持續開發流程中。
例如:開發者可以使用一個標準的映象來構建一套開發容器,開發完成之後,運維人員可以直接使用這個容器來部署程式碼。 Docker 可以快速建立容器,快速迭代應用程式,並讓整個過程全程可見,使團隊中的其他成員更容易理解應用程式是如何建立和工作的。 Docker 容器很輕很快!容器的啟動時間是秒級的,大量地節約開發、測試、部署的時間。
高效的部署和擴容
Docker 容器幾乎可以在任意的平臺上執行,包括物理機、虛擬機器、公有云、私有云、個人電腦、伺服器等。 這種相容性可以讓使用者把一個應用程式從一個平臺直接遷移到另外一個。
Docker的相容性和輕量特性可以很輕鬆的實現負載的動態管理。你可以快速擴容或方便的下線的你的應用和服務,這種速度趨近實時。
更高的資源利用率
Docker 對系統資源的利用率很高,一臺主機上可以同時執行數千個 Docker 容器。容器除了執行其中應用外,基本不消耗額外的系統資源,使得應用的效能很高,同時系統的開銷儘量小。傳統虛擬機器方式執行 10 個不同的應用就要起 10 個虛擬機器,而Docker 只需要啟動 10 個隔離的應用即可。
更簡單的管理
使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分發和更新,從而實現自動化並且高效的管理
1.3 Docker架構
Docker引擎架構圖
1.4 Docker總結
Docker是世界lingxian的軟體容器平臺
Docker使用Google公司推出的Go語言進行開發實現,基於Linux核心的cgroup,namespace,以及AUFS類的UnionFS等技術,對程式進行封裝隔離,屬於作業系統層面的虛擬化技術。由於隔離的程式獨立於宿主和其它的隔離的程式,因此也稱其為容器。Docke最初實現是基於LXC。
Docker能夠自動執行重複性任務,例如搭建和配置開發環境,從而解放了開發人員以便他們專注在真正重要的事情上:構建傑出的軟體。
使用者可以方便地建立和使用容器,把自己的應用放入容器。容器還可以進行版本管理、複製、分享、修改,就像管理普通的程式碼一樣。
1.5 Docker的作用
輕量,在一臺機器上執行的多個Docker容器可以共享這臺機器的作業系統核心;它們能夠迅速啟動,只需佔用很少的計算和記憶體資源。映象是透過檔案系統層進行構造的,並共享一些公共檔案。這樣就能儘量降低磁碟用量,並能更快地下載映象。
標準,Docker容器基於開放式標準,能夠在所有主流Linux版本、Microsoft Windows以及包括VM、裸機伺服器和雲在內的任何基礎設施上執行。
安全,Docker賦予應用的隔離性不僅限於彼此隔離,還獨立於底層的基礎設施。Docker預設提供超強的隔離,因此應用出現問題,也只是單個容器的問題,而不會波及到整臺機器。
1.6 Docker的好處
Docker的映象提供了除核心外完整的執行時環境,確保了應用執行環境一致性,從而不會再出現“這段程式碼在我機器上沒問題啊”這類問題;——一致的執行環境
可以做到秒級、甚至毫秒級的啟動時間。大大的節約了開發、測試、部署的時間。——更快速的啟動時間
避免公用的伺服器,資源會容易受到其他使用者的影響。——隔離性
善於處理集中爆發的伺服器使用壓力;——彈性伸縮,快速擴充套件
可以很輕易的將在一個平臺上執行的應用,遷移到另一個平臺上,而不用擔心執行環境的變化導致應用無法正常執行的情況。——遷移方便
使用Docker可以透過定製應用映象來實現持續整合、持續交付、部署。——持續交付和部署
希望以上的分享能幫到大家!如想了解更多Java知識,歡迎關注小千,後期分享更多Java知識。
本文來自 千鋒教育,轉載請註明出處。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2781966/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是Docker?Docke有哪些特性?Docker
- 什麼是docker?docker有什麼優勢?Docker
- 什麼是Docker?為什麼使用docker?Docker
- Docker(1)- 什麼是 DockerDocker
- 什麼是Docker?Docker可以幹什麼?Docker
- 什麼是lambda?有什麼好處
- Docker是什麼技術?Docker容器具有哪些特點?Docker
- BPM是什麼意思?BPM的優勢及好處有哪些?
- 什麼是https?網站啟動https的好處有哪些?HTTP網站
- Docker 入門:什麼是 Docker ?Docker
- 什麼是 Docker?Docker
- 什麼是Docker?Docker
- DevOps的目標是什麼?有什麼好處?dev
- Docker筆記(一):什麼是DockerDocker筆記
- Docker 學習 一:Docker 是什麼Docker
- Docker 學習 一,Docker 是什麼Docker
- Docker有哪些特點?與Linux有什麼區別?DockerLinux
- 使用反向代理的好處有什麼?
- Spring的IOC是啥?有什麼好處?Spring
- 來感性的理解docker,看看docker是什麼吧Docker
- Docker是什麼,有什麼用?一看就明白Docker
- 什麼是勞動力管理?有什麼好處?
- 什麼是設計模式?為什麼要使用設計模式?有什麼好處?設計模式
- docker容器卷是什麼Docker
- 使用CRM系統有什麼好處?
- 拼多多平臺活動有哪些?有什麼好處?
- 什麼是WHQL?WHQL對驅動有什麼好處?
- 使用代理進行SEO的好處有什麼?
- Docker和虛擬機器有什麼不同?哪個好?Docker虛擬機
- 使用雲端計算有什麼好處?有什麼幫助
- 快速認識什麼是:DockerDocker
- 華納雲:TS伺服器是什麼樣的,好處和侷限有哪些伺服器
- 好程式設計師Java分享為什麼要使用Docker程式設計師JavaDocker
- 【java面試】Spring的IOC是啥?有什麼好處?Java面試Spring
- k8s和Docker是什麼?兩者有什麼區別?K8SDocker
- Kaizen的好處有哪些?AI
- 什麼是自愈路由?自愈路由自愈網路有什麼好處路由
- Linux中什麼是分割槽?Linux分割槽有什麼好處?Linux