時間:2019-07-31 14:33:50 作者:johnnyl 瀏覽量:55
大家好,近期小編發現網絡上很多關于Docker的介紹,下面是小編整理出來的Docker的一些入門基礎知識。
簡介
什么是Docker
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 和傳統虛擬化方法的不同之處,可見容器是在操作體系層面上完結虛擬化,直接復用本地主機的操作體系,而傳統方法則是在硬件層面完結。
為什么要用Docker
作為一種新式的虛擬化方法,Docker 跟傳統的虛擬化方法比較具有很多的優勢。
首先,Docker 容器的發動能夠在秒級完結,這比較傳統的虛擬機方法要快得多。 其次,Docker 對體系資源的運用率很高,一臺主機上能夠同時運轉數千個 Docker 容器。
容器除了運轉其間運用外,根本不耗費額定的體系資源,使得運用的功能很高,同時體系的開支盡量小。傳統虛擬機方法運轉 10 個不同的運用就要起 10 個虛擬機,而Docker 只需要發動 10 個阻隔的運用即可。
具體說來,Docker 在如下幾個方面具有較大的優勢。
更快速的交付和布置
對開發和運維(devop)人員來說,最期望的就是一次創立或裝備,能夠在恣意當地正常運轉。
開發者能夠運用一個規范的鏡像來構建一套開發容器,開發完結之后,運維人員能夠直接運用這個容器來布置代碼。 Docker 能夠快速創立容器,快速迭代運用程序,并讓整個進程全程可見,使團隊中的其他成員更容易理解運用程序是如何創立和工作的。 Docker 容器很輕很快!容器的發動時刻是秒級的,很多地節省開發、測試、布置的時刻。
更高效的虛擬化
Docker 容器的運轉不需要額定的 hypervisor 支撐,它是內核級的虛擬化,因此能夠完結更高的功能和效率。
更輕松的遷移和擴展
Docker 容器簡直能夠在恣意的平臺上運轉,包含物理機、虛擬機、公有云、私有云、個人電腦、服務器等。 這種兼容功能夠讓用戶把一個運用程序從一個平臺直接遷移到別的一個。
更簡略的辦理
運用 Docker,只需要小小的修正,就能夠替代以往很多的更新工作。一切的修正都以增量的方法被分發和更新,然后完結主動化而且高效的辦理。
對比傳統虛擬機總結

Docker的簡介及與SSH連接圖1
裝置Docker
本來打算在CentOS6上裝置Docker,最終因為CentOS6上自帶的kernel版別太低導致Docker發動失敗而放棄(kernel升級太繁瑣)。

Docker的簡介及與SSH連接圖2
下面運用CentOS7裝置Docker,本人采用虛擬機的方法來裝置,裝置好的虛擬機必須保證能訪問外網。
CentOS7 體系 CentOS-Extras 庫中已帶 Docker,能夠直接裝置:
$ sudo yum install docker
裝置之后發動 Docker 服務,并讓它隨體系發動主動加載:
$ sudo service docker start$ sudo chkconfig docker on
獲取鏡像
能夠運用 docker pull 指令來從庫房獲取所需要的鏡像。