docker 是系統嗎

docker本質上是一個附加系統,準確來說是一個用于開發,交付和運行應用程序的開放平臺;Docker可以使開發者能夠將應用程序與基礎架構分開,從而可以快速交付軟件;借助Docker還可以與管理應用程序相同的方式來管理基礎架構。

docker 是系統嗎

本文操作環境:ubuntu 18.04系統、Docker 20.10.11版、Dell G3電腦。

docker 是系統嗎?

Docker在本質上是一個附加系統。

Docker 是一個開源的應用容器引擎,基于?Go 語言?并遵從 Apache2.0 協議開源。

Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 linux 機器上,也可以實現虛擬化

容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iphone 的 app),更重要的是容器性能開銷極低。

Docker 從 17.03 版本之后分為 CE(Community Edition: 社區版) 和 EE(Enterprise Edition: 企業版)。

Docker 的優點

Docker 是一個用于開發,交付和運行應用程序的開放平臺。Docker 使您能夠將應用程序與基礎架構分開,從而可以快速交付軟件。借助 Docker,您可以與管理應用程序相同的方式來管理基礎架構。通過利用 Docker 的方法來快速交付,測試和部署代碼,您可以大大減少編寫代碼和在生產環境中運行代碼之間的延遲。

特性

  • 在docker的網站上提到了docker的典型場景:

  • Automating the packaging and deployment of applications(使應用的打包與部署自動化

  • Creation of lightweight, private paas environments(創建輕量、私密的PAAS環境)

  • Automated testing and continuous integration/deployment(實現自動化測試和持續的集成/部署)

  • Deploying and scaling web apps, databases and backend services(部署與擴展webapp、數據庫和后臺服務)

由于其基于LXC的輕量級虛擬化的特點,docker相比KVM之類最明顯的特點就是啟動快,資源占用小。因此對于構建隔離的標準化的運行環境,輕量級的PaaS(如dokku), 構建自動化測試和持續集成環境,以及一切可以橫向擴展的應用(尤其是需要快速啟停來應對峰谷的web應用)。

  • 構建標準化的運行環境,現有的方案大多是在一個baseOS上運行一套puppet/chef,或者一個image文件,其缺點是前者需要base OS許多前提條件,后者幾乎不可以修改(因為copy on write 的文件格式在運行時rootfs是read only的)。并且后者文件體積大,環境管理和版本控制本身也是一個問題。

  • PaaS環境是不言而喻的,其設計之初和dotcloud的案例都是將其作為PaaS產品的環境基礎

  • 因為其標準化構建方法(buildfile)和良好的REST API,自動化測試和持續集成/部署能夠很好的集成進來

  • 因為LXC輕量級的特點,其啟動快,而且docker能夠只加載每個container變化的部分,這樣資源占用小,能夠在單機環境下與KVM之類的虛擬化方案相比能夠更加快速和占用更少資源

推薦學習:《docker視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享