docker是dotCloud公司的產品;docker最初是dotCloud公司創始人“Solomon Hykes”在法國期間發起的一個公司內部項目,它是基于dotCloud公司多年云服務技術的一次革新,并于2013年3月以“apache 2.0”授權協議開源,主要項目代碼在github上進行維護。
本教程操作環境:linux7.3系統、docker19.03版、Dell G3電腦。
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 技術比虛擬機技術更為輕便、快捷。
下面的圖片比較了 Docker 和傳統虛擬化方式的不同之處。傳統虛擬機技術是虛擬出一套硬件后,在其上運行一個完整操作系統,在該系統上再運行所需應用進程;而容器內的應用進程直接運行于宿主的內核,容器內沒有自己的內核,而且也沒有進行硬件虛擬。因此容器要比傳統虛擬機更為輕便。
從上圖可以看出:
- docker容器是一個應用層抽象,用于將代碼和依賴資源打包在一起。 多個容器可以在同一臺機器上運行,共享操作系統內核,但各自作為獨立的進程在用戶空間中運行 。與虛擬機相比, 容器占用的空間較少(容器鏡像大小通常只有幾十兆),瞬間就能完成啟動
- 虛擬機 (VM) 是一個物理硬件層抽象,用于將一臺服務器變成多臺服務器。 管理程序允許多個 VM 在一臺機器上運行。每個VM都包含一整套操作系統、一個或多個應用、必要的二進制文件和庫資源,因此 占用大量空間 。而且 VM 啟動也十分緩慢?
? ? 拿docker 官網的標題圖片,作為這一部分結束,作為一個總結:Build, Manage and Secure Your Apps Anywhere. Your Way.

推薦學習:《docker視頻教程》