在 Linux 上安裝和使用 Docker

容器現(xiàn)在風(fēng)靡于 IT 界 —— 這很好理解。容器是輕量級(jí)的姑原,包含應(yīng)用運(yùn)行所需所有東西(代碼悬而、庫(kù)、運(yùn)行時(shí)環(huán)境锭汛、系統(tǒng)設(shè)置笨奠,以及依賴(lài)關(guān)系)的獨(dú)立的包。每個(gè)容器都部署于它自己的 CPU唤殴、內(nèi)存般婆、塊 I/O,以及網(wǎng)絡(luò)資源上朵逝,所有這些都不依賴(lài)于某個(gè)內(nèi)核和操作系統(tǒng)蔚袍。這也是容器與虛擬機(jī)之間最大的不同;相比之下,虛擬機(jī)是一個(gè)運(yùn)行于宿主機(jī)操作系統(tǒng)上的完整的操作系統(tǒng)平臺(tái)啤咽,而容器不是晋辆。

容器允許你以一種前所未有的方式擴(kuò)展交付能力(不管內(nèi)部還是外部的)。例如宇整,你可以快速部署多個(gè) NGINX 實(shí)例(甚至可以應(yīng)用于多個(gè)不同的階段 —— 比如開(kāi)發(fā)和生產(chǎn)階段)瓶佳。跟虛擬機(jī)不同,容器不會(huì)消耗太多系統(tǒng)資源鳞青。

Docker?使得創(chuàng)建霸饲、部署,和管理容器變得特別簡(jiǎn)單臂拓。更好的是厚脉,安裝和使用 Docker 在 Linux 平臺(tái)上特別的方便。

我將會(huì)向你演示在 Linux 上安裝 Docker 是多么方便胶惰,同時(shí)帶你入門(mén) Docker器仗。我的演示平臺(tái)是?Ubuntu 16.04 Server,但流程在大多數(shù)其它 Linux 平臺(tái)都差不多童番。

我這里假設(shè)你已經(jīng)啟動(dòng)了 Ubuntu Server 16.04。

安裝

由于 Ubuntu Server 16.04 缺少圖形界面威鹿,我會(huì)完全通過(guò)命令行來(lái)安裝和使用 Docker剃斧。在你安裝前,你需要更新?apt?然后進(jìn)行必要的升級(jí)忽你。一定要注意幼东,若系統(tǒng)內(nèi)核升級(jí)了,你會(huì)需要重啟系統(tǒng)科雳。因此最好挑個(gè)服務(wù)器能重啟的時(shí)間進(jìn)行根蟹。

運(yùn)行下面命令更新?apt:

sudo apt update

完成后,使用命令升級(jí)系統(tǒng):

sudo apt upgrade

若內(nèi)核升級(jí)了糟秘,你需要用下面命令重啟服務(wù)器:

sudo reboot

若內(nèi)核沒(méi)有升級(jí)简逮,你就可以安裝 Docker 了(無(wú)需重啟)。安裝 Docker 的命令為:

sudo apt install docker.io

若你使用的是其它 Linux 發(fā)行版尿赚,當(dāng)嘗試用相應(yīng)的包管理器來(lái)安裝時(shí)卻發(fā)現(xiàn)沒(méi)有?docker.io?包散庶,則你應(yīng)該安裝?docker?包。例如凌净,在?Fedora?上安裝應(yīng)該用命令:

sudo dnf install docker

若你使用的是 CentOS 7悲龟,那么最好使用安裝腳本來(lái)安裝 docker。首先使用命令?sudo yum check-update?更新系統(tǒng)冰寻。升級(jí)完后须教,輸入下面命令來(lái)下載并運(yùn)行所需的腳本:

curl -fsSL https://get.docker.com/ | sh

默認(rèn)情況下,只有管理員權(quán)限能夠運(yùn)行 docker 命令斩芭∏嵯伲考慮到安全問(wèn)題乐疆,你不會(huì)想用 root 用戶或使用?sudo?來(lái)運(yùn)行 Docker 的。要解決這個(gè)問(wèn)題约计,你需要將自己的用戶加入到 docker 組中诀拭。命令如下:

sudo usermod -a -G docker $USER

完成操作后,登出系統(tǒng)然后再重新登錄煤蚌,應(yīng)該就搞定了耕挨。不過(guò)若你的平臺(tái)是 Fedora,則添加用戶到 docker 組時(shí)會(huì)發(fā)現(xiàn)這個(gè)組是不存在的尉桩。那該怎么辦呢筒占?你需要首先創(chuàng)建這個(gè)組。命令如下:

sudo groupadd docker && sudo gpasswd -a ${USER} docker && sudo systemctl restart docker

newgrp docker

登出后再登錄蜘犁。就可以開(kāi)始用 Docker 了翰苫。

啟動(dòng),暫停以及啟用 Docker

安裝好 Docker 后这橙,你可以讓系統(tǒng)在啟動(dòng)時(shí)自動(dòng)啟動(dòng) Docker 守護(hù)進(jìn)程奏窑。使用下面兩個(gè)命令來(lái)實(shí)現(xiàn)這一點(diǎn):

sudo systemctl start docker

sudo systemctl enable docker

若需要暫停或重啟 Docker 守護(hù)進(jìn)程屈扎,則命令為:

sudo systemctl stop docker

sudo systemctl restart docker

現(xiàn)在可以用 Docker 來(lái)部署容器了埃唯。

拉取鏡像

對(duì) Docker 來(lái)說(shuō),鏡像是構(gòu)建容器的基石鹰晨。你可以拉下一個(gè)鏡像(比如?NGINX)然后根據(jù)這個(gè)鏡像部署任意多個(gè)容器出來(lái)墨叛。使用鏡像前,你首先需要把鏡像拉取到系統(tǒng)中模蜡。鏡像從注冊(cè)倉(cāng)庫(kù)中拉取漠趁,默認(rèn)情況下安裝好的 Docker 包含了一個(gè)默認(rèn)的注冊(cè)倉(cāng)庫(kù)?Docker Hub?—— 這個(gè)注冊(cè)倉(cāng)庫(kù)包含了大量別人所貢獻(xiàn)的鏡像(既包括官方的鏡像,也包括用戶自己貢獻(xiàn)的鏡像)忍疾。

假設(shè)你想要拉取一個(gè) Nginx Web 服務(wù)器相關(guān)的鏡像闯传。在開(kāi)始拉取前,先檢查一下系統(tǒng)中已經(jīng)有了哪些鏡像膝昆。輸入?docker images?命令你會(huì)發(fā)現(xiàn)現(xiàn)在還沒(méi)有鏡像存在(圖 1)丸边。

圖 1:還沒(méi)有鏡像。

讓我們來(lái)拉取一個(gè)鏡像荚孵。使用下面命令可以從 Docker Hub 中下載 Nginx 鏡像:

docker pull nginx

上面命令會(huì)從 Docker Hub 下載最新的(官方的) Nginx 鏡像∶媒眩現(xiàn)在再運(yùn)行?docker images?命令就能看到有列出鏡像了(圖 2)。

圖 2:NGINX 鏡像已經(jīng)被拉取下來(lái)了收叶。

注意到我這里說(shuō)的是“官方” Nginx 鏡像了嗎骄呼?在 Docker Hub 上有很多的非官方 Nginx 鏡像。這些非官方鏡像都是基于各種不同的目的而創(chuàng)建出來(lái)的。你可以使用下面過(guò)命令來(lái)搜索 Docker Hub 中的所有 Nginx 鏡像:

docker search nginx

你會(huì)發(fā)現(xiàn)(圖 3 中)蜓萄,有很多基于不同目的所創(chuàng)建的 Nginx 鏡像(反向代理隅茎、PHP-FPM(LCTT 譯注:FastCGI 進(jìn)程管理器FastCGI Process Manager是一個(gè) PHPFastCGI 管理器,旨在將 FastCGI 進(jìn)程管理整合進(jìn) PHP 包中)功能嫉沽、LetsEncrypt(LCTT 譯注:由 ISRG 提供的免費(fèi) SSL 項(xiàng)目)辟犀,Bitnami,在樹(shù)莓派上使用的 Nginx 和 Drupal绸硕,等等很多很多)堂竟。

圖 3:Docker Hub 上找到的各種 NGINX 鏡像。

假設(shè)玻佩,你想要下載內(nèi)建有反向代理功能的 Nginx 鏡像出嘹,有個(gè)非官方的鏡像 jwilder/nginx-proxy。因此輸入下面命令來(lái)拉取這個(gè)鏡像:

docker pull jwilder/nginx-proxy

再輸入?docker images?命令來(lái)查看新拉下來(lái)的這個(gè)鏡像(圖 4)咬崔。

圖 4:已經(jīng)有了兩種不同的 NGINX 鏡像了税稼。

處于謹(jǐn)慎考慮,我建議只使用官方鏡像垮斯,畢竟你無(wú)法確定非官方鏡像是否包含了惡意代碼郎仆。

有了鏡像后就可以用它來(lái)部署容器了。下次我們?cè)倭牧娜绾瓮ㄟ^(guò)這些 Nginx 鏡像來(lái)發(fā)布容器兜蠕。

Docker 是一個(gè)超級(jí)強(qiáng)力的系統(tǒng)可以讓你的工作更簡(jiǎn)單丸升,讓你的公司更具有伸縮性,也更靈活牺氨。想知道 Docker 還能做什么,運(yùn)行?man docker?然后閱讀它的幫助文檔吧墩剖。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末猴凹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子岭皂,更是在濱河造成了極大的恐慌郊霎,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爷绘,死亡現(xiàn)場(chǎng)離奇詭異书劝,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)土至,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén)购对,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人陶因,你說(shuō)我怎么就攤上這事骡苞。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵解幽,是天一觀的道長(zhǎng)贴见。 經(jīng)常有香客問(wèn)我,道長(zhǎng)躲株,這世上最難降的妖魔是什么片部? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮霜定,結(jié)果婚禮上档悠,老公的妹妹穿的比我還像新娘。我一直安慰自己然爆,他們只是感情好站粟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著曾雕,像睡著了一般奴烙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剖张,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天切诀,我揣著相機(jī)與錄音,去河邊找鬼搔弄。 笑死幅虑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的顾犹。 我是一名探鬼主播倒庵,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼炫刷!你這毒婦竟也來(lái)了擎宝?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤浑玛,失蹤者是張志新(化名)和其女友劉穎绍申,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體顾彰,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡极阅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了涨享。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筋搏。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖厕隧,靈堂內(nèi)的尸體忽然破棺而出拆又,到底是詐尸還是另有隱情儒旬,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布帖族,位于F島的核電站栈源,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏竖般。R本人自食惡果不足惜甚垦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望涣雕。 院中可真熱鬧艰亮,春花似錦、人聲如沸挣郭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)兑障。三九已至侄非,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間流译,已是汗流浹背逞怨。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留福澡,地道東北人叠赦。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像革砸,于是被迫代替她去往敵國(guó)和親除秀。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

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

  • Docker需要安裝在64位的x86平臺(tái)或ARM平臺(tái)上(如樹(shù)莓派)算利,并且要求內(nèi)核版本不低于3.10鳞仙。但實(shí)際上內(nèi)核越...
    斜杠青年潘前進(jìn)閱讀 551評(píng)論 0 5
  • docker安裝 Ubuntu 16.04安裝docker 參考文檔地址https://blog.csdn.net...
    Lu露_7c55閱讀 465評(píng)論 0 0
  • 一、安裝 特別注意: 因?yàn)閐ocker 的鏡像與容器都存儲(chǔ)在 /var/lib/docker下笔时,為避免后續(xù)安裝問(wèn)題...
    cy247706243閱讀 845評(píng)論 0 0
  • Docker安裝與使用 一、docker安裝仗岸。 1允耿、安裝要求: 1)docker要求服務(wù)CentOS6以上,ker...
    卬之別錄閱讀 1,945評(píng)論 0 1
  • 一扒怖、安裝 Docker可以運(yùn)行在MAC较锡,Windows,Linux系統(tǒng)上盗痒。本次教程使用Centos7系統(tǒng)操作蚂蕴。使用...
    houxin閱讀 1,494評(píng)論 0 0