docker不是一種操作系統;操作系統是一組主管并控制計算機操作、運用和運行硬件、軟件資源和提供公共服務來組織用戶交互的相互關聯的系統軟件程序,而docker是一個用于開發,交付和運行應用程序的開放平臺,借助Docker還可以與管理應用程序相同的方式來管理基礎架構。
本教程操作環境:linux7.3系統、docker19.03版、Dell G3電腦。
docker不是一種操作系統
docker本質上是一個附加系統,準確來說是一個用于開發,交付和運行應用程序的開放平臺;Docker可以使開發者能夠將應用程序與基礎架構分開,從而可以快速交付軟件;借助Docker還可以與管理應用程序相同的方式來管理基礎架構。
docker并不是一個操作系統,docker是一個容器,可以把它比喻成虛擬的硬件,在硬件(主機)上安裝操作系統,redis的鏡像肯定是一個系統裝了redis,并不是單單一個redis,可以進入該鏡像使用相關命令查看系統信息。
操作系統是什么
操作系統(英語:Operating System,縮寫:OS)是一組主管并控制計算機操作、運用和運行硬件、軟件資源和提供公共服務來組織用戶交互的相互關聯的系統軟件程序。根據運行的環境,操作系統可以分為桌面操作系統,手機操作系統,服務器操作系統,嵌入式操作系統等。
docker是什么
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發布到任何流行的?Linux或windows操作系統的機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
擴展知識
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視頻教程》