docker 一 什麼是docker

2022-04-04 12:51:11 字數 1178 閱讀 7465

docker 是乙個開源專案,誕生於 2013 年初,初是 dotcloud 公司內部的乙個業餘專案。它基於 google 公司推 出的 go 語言實現。 專案後來加入了 linux **會,遵從了 apache 2.0 協議,專案**在 github 上進行維護。

docker 自開源後受到廣泛的關注和討論,以至於 dotcloud 公司後來都改名為 docker inc。redhat 已經在其 rhel6.5 中集中支援 docker;google 也在其 paas 產品中廣泛應用。 docker 專案的目標是實現輕量級的作業系統虛擬化解決方案。 docker 的基礎是 linux 容器(lxc)等技術。

在 lxc 的基礎上 docker 進行了進一步的封裝,讓使用者不需要去關心容器的管理,使得操作更為簡便。使用者操作 docker 的容器就像操作乙個快速輕量級的虛擬機器一樣簡單。 為什麼選擇docker?

(1)上手快。 使用者只需要幾分鐘,就可以把自己的程式「docker化」。docker依賴於「寫時複製」(copy-on-write)模型,使修改 應用程式也非常迅速,可以說達到「隨心所致,**即改」的境界。          隨後,就可以建立容器來執行應用程式了。大多數docker容器只需要不到1秒中即可啟動。由於去除了管理程 序的開銷,docker容器擁有很高的效能,同時同一臺宿主機中也可以執行更多的容器,使使用者盡可能的充分利用 系統資源。

(2)職責的邏輯分類 使用docker,開發人員只需要關心容器中執行的應用程式,而運維人員只需要關心如何管理容器。docker設計的 目的就是要加強開發人員寫**的開發環境與應用程式要部署的生產環境一致性。從而降低那種「開發時一切正 常,肯定是運維的問題(測試環境都是正常的,上線後出了問題就歸結為肯定是運維的問題)」

(3)快速高效的開發生命週期 docker的目標之一就是縮短**從開發、測試到部署、上線執行的週期,讓你的應用程式具備可移植性,易於構 建,並易於協作。(通俗一點說,docker就像乙個盒子,裡面可以裝很多物件,如果需要這些物件的可以直接將 該大盒子拿走,而不需要從該盒子中一件件的取。)

(4)鼓勵使用面向服務的架構

docker還鼓勵面向服務的體系結構和微服務架構。docker推薦單個容器只執行乙個應用程式或程序,這樣就形成 了乙個分布式的應用程式模型,在這種模型下,應用程式或者服務都可以表示為一系列內部互聯的容器,從而使分 布式部署應用程式,擴充套件或除錯應用程式都變得非常簡單,同時也提高了程式的內省性。(當然,可以在乙個容器 中執行多個應用程式)

Docker學習(一) 什麼是Docker?

docker 是乙個基於go語言實現的開源應用容器專案,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux機器上,也可以實現虛擬化。docker的構想是要實現對應用元件級別的 一次封裝 到處執行 這裡的應用元件,既可以是乙個web應用 乙個編譯環境,也可以是一...

Docker筆記(一) 什麼是Docker

接觸docker也有兩年多了,斷斷續續玩過一些應用場景,如安裝一些常用工具服務,部署業務專案,基於gitlab jenkins pipeline docker的ci cd實現等。了解其基本知識與操作,但不能說深度掌握,故藉此系列進行梳理與學習,也希望對有意學習docker的人提供參考。docker最...

docker學習之一 什麼是docker

一開始看了許多文章,但是總覺得還是沒有完全理解什麼是docker。建議先動手操作實踐,之後回頭再來看看什麼是docker。docker可以輕鬆方便自由的搭建和部署各種應用 包含執行環境 的乙個軟體,它可以執行在linux windows 和 macos系統上。簡單得來說,docker是乙個由go語言...