Docker (一) Docker的特性,核心概念及安裝


整 理:bob.zhang
時(shí) 間:2016-11-21 下午


一.特 性

一次封裝到處運(yùn)行蜂大,很好的說明了Docker的跨平臺(tái)和強(qiáng)移植性健提。

1.Docker容器與傳統(tǒng)虛擬機(jī)技術(shù)的特性對比

特 性 Docker容器 傳統(tǒng)虛擬機(jī)
啟動(dòng)速度 秒級(jí) 分鐘級(jí)
硬盤使用 一般為MB 一般為GB
性能 接近原生系統(tǒng) 相對弱于
系統(tǒng)支持量 單機(jī)支持上千個(gè)容器 一般幾十個(gè)

2.Docker容器與傳統(tǒng)虛擬機(jī)技術(shù)的不同之處

傳統(tǒng)方式是在硬件層面實(shí)現(xiàn)虛擬化,需要有額外的虛擬機(jī)管理應(yīng)用和虛擬機(jī)操作系統(tǒng)層。


傳統(tǒng)虛擬化與Docker虛擬化

Docker容器是在操作系統(tǒng)層面上實(shí)現(xiàn)虛擬化勃教,直接復(fù)用本機(jī)本地的操作系統(tǒng)淤击,因此更加輕量級(jí),性能方面也更加高效故源。

二.核心概念

  • 鏡像
  • 容器
  • 倉庫

1.鏡像

Docker鏡像(image)類似于虛擬機(jī)鏡像污抬,可以將它理解為一個(gè)面向Docker引擎的只讀模板,包含了文件系統(tǒng)绳军。

例如:一個(gè)鏡像可以只包含一個(gè)完整的Centos操作系統(tǒng)環(huán)境印机,可以把它稱為一個(gè)Centos鏡像,鏡像也可以安裝了Nginx應(yīng)用程序(或者用戶需要的其他軟件)门驾,可以把它稱為一個(gè)Nginx鏡像射赛。

鏡像是創(chuàng)建Docker容器的基礎(chǔ),通過版本管理和增量的文件系統(tǒng)奶是,Docker提供了一套十分簡單的機(jī)制(倉庫)創(chuàng)建和更新現(xiàn)有鏡像楣责,用戶可以從網(wǎng)上下載一個(gè)已經(jīng)做好的應(yīng)用鏡像,并通過命令直接創(chuàng)建Docker容器來使用诫隅。

2.容器

Docker容器(Container)類似于一個(gè)箱子腐魂,可以把容器看做是一個(gè)簡易的Linux系統(tǒng)環(huán)境(其中包括root用戶權(quán)限,進(jìn)程空間逐纬,用戶空間和網(wǎng)路空間等)蛔屹,以及運(yùn)行在其中的應(yīng)用程序打包而成的一個(gè)箱子。Docker利用容器這個(gè)箱子來隔離和運(yùn)行應(yīng)用鏡像豁生。

容器是從鏡像創(chuàng)建的應(yīng)用運(yùn)行實(shí)例兔毒,可以對他進(jìn)行啟動(dòng),停止甸箱,刪除等常規(guī)操作育叁。這些不同的容器之間都是相互隔離互不可見的。鏡像自身是只讀的芍殖,容器從鏡像啟動(dòng)的時(shí)候豪嗽,Docker會(huì)在鏡像的最上層創(chuàng)建一個(gè)可寫層,鏡像本身將保持不變豌骏。

3.倉庫

Docker倉庫(Repostory)類似于代碼的倉庫(與svn龟梦、git、maven等概念類似)是Docker用來集中存放鏡像文件的場所窃躲。

根據(jù)所存儲(chǔ)的鏡像是否公開分享计贰,Docker倉庫又分為:

  • 1.公開倉庫
  • 2.私有倉庫

顧名思義,公開倉庫就是公共開放的鏡像存儲(chǔ)的地方蒂窒,目前最大的公開倉庫是Dokcer Hub (registry.hub.docker.com)躁倒,存放了大量的鏡像可供下載使用荞怒,國內(nèi)的公開倉庫有aliyun(acs-public-mirror.oss-cn-hangzhou.aliyuncs.com)。私有倉庫是內(nèi)部使用的私有不對外開放的倉庫秧秉,用戶可以內(nèi)部自行搭建褐桌,內(nèi)部分享鏡像,方便快捷的分享專屬環(huán)境的鏡像文件福贞。

三 .Docker的安裝

Docker支持在所有主流操作系統(tǒng)上運(yùn)行(Ubuntu撩嚼、CentOS、Windows以及MacOS)挖帘。我這里只整理Docker在Linux(Ubuntu、CentOS)環(huán)境的安裝恋技,其他平臺(tái)的安裝如有需要自行Google或者度娘拇舀。

  • Ubuntu
  • CentOS

1.Docker在Ubuntu上的安裝

3.1.1) Ubuntu14.04及以上版本的系統(tǒng)官方軟件源中已經(jīng)自帶了Docker包,可以直接安裝
$sudo apt-get update
$sudo apt-get install -y docker.io
$sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
$sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io

使用操作系統(tǒng)自帶包安裝 Docker蜻底,目前安裝的版本是比較舊的版本骄崩。 要安裝更新的版本,可以通過使用 Docker 源的方式薄辅。

安裝最新的 Docker 版本要拂,首先需要安裝 apt-transport-https 支持,之后通過添加源來安裝站楚。

安裝 apt-transport-https 支持
$ sudo apt-get install apt-transport-https
將Docker官方資料庫的訪問Key添加到你本地系統(tǒng)
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 
--recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
$ sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > 
  /etc/apt/sources.list.d/docker.list"
$ sudo apt-get update
$ sudo apt-get install lxc-docker

或者簡單的一條命令(在系統(tǒng)安裝了curl和apt-transport-https支持的前提下)

curl -sSL https://get.docker.io/ubuntu/ | sudo sh
3.1.2) 如果系統(tǒng)是Ubuntu 14.04之前的較低版本的老系統(tǒng)脱惰,需要先更新系統(tǒng)內(nèi)核才能安裝Docker
升級(jí)內(nèi)核并重啟
$ sudo apt-get update
$ sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
$ sudo reboot

內(nèi)核升級(jí)完了,然后按照上面步驟繼續(xù)安裝Docker即可窿春。

安裝之后啟動(dòng) Docker 服務(wù)

$ sudo service docker start

2.Docker在CentOS上的安裝

3.2.1) CentOS 6上安裝Docker

官方文檔要求Linux kernel至少3.8以上拉一,且docker只能運(yùn)行在64位的系統(tǒng)中。由于RHEL 6和CentOS 6的內(nèi)核版本為2.6旧乞,因此必須要先升級(jí)內(nèi)核(內(nèi)核升級(jí)過程自行Google蔚润,度娘)。

內(nèi)核升級(jí)結(jié)果確認(rèn)

[root@zyb ~]# uname -r
3.10.5-3.el6.x86_64
[root@zyb ~]#

查看內(nèi)核是否支持aufs:

[root@zyb ~]# grep aufs /proc/filesystems
nodev   aufs
[root@zyb ~]#

首先關(guān)閉selinux:

[root@zyb ~]# setenforce 0
[root@zyb ~]# sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config

在Fedora EPEL源中已經(jīng)提供了docker-io包尺栖,下載安裝epel:

[root@zyb ~]# rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-
release-6-8.noarch.rpm
[root@zyb ~]# sed -i 's/^mirrorlist=https/mirrorlist=http/' /etc/yum.repos.d/epel.repo

yum安裝docker-io:

[root@zyb ~]# yum -y install docker-io

安裝之后啟動(dòng) Docker 服務(wù)嫡纠,并讓它隨系統(tǒng)啟動(dòng)自動(dòng)加載,確認(rèn)Docker進(jìn)程:

[root@zyb ~]# chkconfig docker on
[root@zyb ~]# service docker start
Starting docker:                                       [  OK  ]
[root@zyb ~]# ps -ef|grep docker
root      70454      1  1 17:13 pts/1    00:00:00 /usr/bin/docker -d
root      70560  28112  0 17:13 pts/1    00:00:00 grep docker
[root@zyb ~]#

支持Docker在CentOS 6上安裝完畢延赌。

3.2.2) CentOS 7上安裝Docker

CentOS7 系統(tǒng)CentOS-Extras庫中已帶 Docker除盏,可以直接安裝:

$ sudo yum install docker

安裝之后啟動(dòng) Docker 服務(wù),并讓它隨系統(tǒng)啟動(dòng)自動(dòng)加載皮胡。

$ sudo service docker start
$ sudo chkconfig docker on


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末痴颊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子屡贺,更是在濱河造成了極大的恐慌蠢棱,老刑警劉巖锌杀,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異泻仙,居然都是意外死亡糕再,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門玉转,熙熙樓的掌柜王于貴愁眉苦臉地迎上來突想,“玉大人,你說我怎么就攤上這事究抓』#” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵刺下,是天一觀的道長绑嘹。 經(jīng)常有香客問我,道長橘茉,這世上最難降的妖魔是什么工腋? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮畅卓,結(jié)果婚禮上擅腰,老公的妹妹穿的比我還像新娘。我一直安慰自己翁潘,他們只是感情好趁冈,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著唐础,像睡著了一般箱歧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上一膨,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天呀邢,我揣著相機(jī)與錄音,去河邊找鬼豹绪。 笑死价淌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的瞒津。 我是一名探鬼主播蝉衣,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼巷蚪!你這毒婦竟也來了病毡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤屁柏,失蹤者是張志新(化名)和其女友劉穎啦膜,沒想到半個(gè)月后有送,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡僧家,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年雀摘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片八拱。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡阵赠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肌稻,到底是詐尸還是另有隱情清蚀,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布灯萍,位于F島的核電站轧铁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏旦棉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一药薯、第九天 我趴在偏房一處隱蔽的房頂上張望绑洛。 院中可真熱鬧,春花似錦童本、人聲如沸真屯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绑蔫。三九已至,卻和暖如春泵额,著一層夾襖步出監(jiān)牢的瞬間配深,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國打工嫁盲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留篓叶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓羞秤,卻偏偏與公主長得像缸托,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子瘾蛋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Docker — 云時(shí)代的程序分發(fā)方式 要說最近一年云計(jì)算業(yè)界有什么大事件俐镐?Google Compute Engi...
    ahohoho閱讀 15,534評(píng)論 15 147
  • 0x01 核心概念 Docker鏡像類似于虛擬機(jī)鏡像,可以理解為一個(gè)面向Docker引擎的只讀模板哺哼,包含了文件系統(tǒng)...
    閑云逸心閱讀 4,719評(píng)論 0 9
  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一佩抹、Docker 簡介 Docke...
    極客圈閱讀 10,501評(píng)論 0 120
  • 一叼风、Docker 簡介 Docker 兩個(gè)主要部件:Docker: 開源的容器虛擬化平臺(tái)Docker Hub: 用...
    R_X閱讀 4,388評(píng)論 0 27
  • 今天到本地的一所高校送同事的孩子報(bào)到。剛到學(xué)校附近匹摇,車輛已排成長龍咬扇,緩慢的向前移動(dòng)。好不容易挪到校園內(nèi)的報(bào)到處廊勃,看...
    王子和白龍馬閱讀 336評(píng)論 0 0