時間:2019-07-31 14:33:50 作者:johnnyl 瀏覽量:55
大家好,近期小編發(fā)現(xiàn)網(wǎng)絡(luò)上很多關(guān)于Docker的介紹,下面是小編整理出來的Docker的一些入門基礎(chǔ)知識。
簡介
什么是Docker
Docker 是一個開源項(xiàng)目,誕生于 2013 年初,開始是 dotCloud 公司內(nèi)部的一個業(yè)余項(xiàng)目。它根據(jù) Google 公司推出的 Go 言語完結(jié)。 項(xiàng)目后來加入了 Linux 基金會,遵從了 Apache 2.0 協(xié)議,項(xiàng)目代碼在 GitHub 上進(jìn)行維護(hù)。
Docker 自開源后遭到廣泛的關(guān)注和評論,以至于 dotCloud 公司后來都改名為 Docker Inc。RedHat現(xiàn)已在其 RHEL6.5 中集中支撐 Docker;Google 也在其 PaaS 產(chǎn)品中廣泛運(yùn)用。
Docker 項(xiàng)目的方針是完結(jié)輕量級的操作體系虛擬化解決方案。 Docker 的基礎(chǔ)是 Linux 容器(LXC)等技能。
在 LXC 的基礎(chǔ)上 Docker 進(jìn)行了進(jìn)一步的封裝,讓用戶不需要去關(guān)心容器的辦理,使得操作更為簡便。用戶操作 Docker 的容器就像操作一個快速輕量級的虛擬機(jī)相同簡略。
下面的圖片比較了 Docker 和傳統(tǒng)虛擬化方法的不同之處,可見容器是在操作體系層面上完結(jié)虛擬化,直接復(fù)用本地主機(jī)的操作體系,而傳統(tǒng)方法則是在硬件層面完結(jié)。
為什么要用Docker
作為一種新式的虛擬化方法,Docker 跟傳統(tǒng)的虛擬化方法比較具有很多的優(yōu)勢。
首先,Docker 容器的發(fā)動能夠在秒級完結(jié),這比較傳統(tǒng)的虛擬機(jī)方法要快得多。 其次,Docker 對體系資源的運(yùn)用率很高,一臺主機(jī)上能夠同時運(yùn)轉(zhuǎn)數(shù)千個 Docker 容器。
容器除了運(yùn)轉(zhuǎn)其間運(yùn)用外,根本不耗費(fèi)額定的體系資源,使得運(yùn)用的功能很高,同時體系的開支盡量小。傳統(tǒng)虛擬機(jī)方法運(yùn)轉(zhuǎn) 10 個不同的運(yùn)用就要起 10 個虛擬機(jī),而Docker 只需要發(fā)動 10 個阻隔的運(yùn)用即可。
具體說來,Docker 在如下幾個方面具有較大的優(yōu)勢。
更快速的交付和布置
對開發(fā)和運(yùn)維(devop)人員來說,最期望的就是一次創(chuàng)立或裝備,能夠在恣意當(dāng)?shù)卣_\(yùn)轉(zhuǎn)。
開發(fā)者能夠運(yùn)用一個規(guī)范的鏡像來構(gòu)建一套開發(fā)容器,開發(fā)完結(jié)之后,運(yùn)維人員能夠直接運(yùn)用這個容器來布置代碼。 Docker 能夠快速創(chuàng)立容器,快速迭代運(yùn)用程序,并讓整個進(jìn)程全程可見,使團(tuán)隊(duì)中的其他成員更容易理解運(yùn)用程序是如何創(chuàng)立和工作的。 Docker 容器很輕很快!容器的發(fā)動時刻是秒級的,很多地節(jié)省開發(fā)、測試、布置的時刻。
更高效的虛擬化
Docker 容器的運(yùn)轉(zhuǎn)不需要額定的 hypervisor 支撐,它是內(nèi)核級的虛擬化,因此能夠完結(jié)更高的功能和效率。
更輕松的遷移和擴(kuò)展
Docker 容器簡直能夠在恣意的平臺上運(yùn)轉(zhuǎn),包含物理機(jī)、虛擬機(jī)、公有云、私有云、個人電腦、服務(wù)器等。 這種兼容功能夠讓用戶把一個運(yùn)用程序從一個平臺直接遷移到別的一個。
更簡略的辦理
運(yùn)用 Docker,只需要小小的修正,就能夠替代以往很多的更新工作。一切的修正都以增量的方法被分發(fā)和更新,然后完結(jié)主動化而且高效的辦理。
對比傳統(tǒng)虛擬機(jī)總結(jié)
Docker的簡介及與SSH連接圖1
裝置Docker
本來打算在CentOS6上裝置Docker,最終因?yàn)镃entOS6上自帶的kernel版別太低導(dǎo)致Docker發(fā)動失敗而放棄(kernel升級太繁瑣)。
Docker的簡介及與SSH連接圖2
下面運(yùn)用CentOS7裝置Docker,本人采用虛擬機(jī)的方法來裝置,裝置好的虛擬機(jī)必須保證能訪問外網(wǎng)。
CentOS7 體系 CentOS-Extras 庫中已帶 Docker,能夠直接裝置:
$ sudo yum install docker
裝置之后發(fā)動 Docker 服務(wù),并讓它隨體系發(fā)動主動加載:
$ sudo service docker start$ sudo chkconfig docker on
獲取鏡像
能夠運(yùn)用 docker pull 指令來從庫房獲取所需要的鏡像。