Docker安裝以及鏡像、容器的管理操作備份還原——精

Docker簡介

Docker是在Linux容器里運行應(yīng)用的開源工具嚣镜,是一種輕量級的虛擬化方式激挪。Docker的設(shè)計宗旨是通過對應(yīng)用軟件的封裝辰狡、發(fā)布、部署垄分、運行等生命周期的管理搓译,達到應(yīng)用組件級別“一次封裝,到處運行”的目的锋喜。這里的組件可以是一個應(yīng)用些己,也可以是一套服務(wù),甚至可以使一個完整的操作系統(tǒng)嘿般。

Docker的優(yōu)勢

  • Docker的容器技術(shù)可以在一臺主機上輕松地為任何應(yīng)用創(chuàng)建個輕量級的段标、可移植的、自給自足的容器炉奴。通過這種容器打包應(yīng)用程序逼庞,簡化了重新部署、調(diào)試這些瑣碎的重復(fù)工作瞻赶,極大地提高了工作效率赛糟。采用Docker容器技術(shù),遷移只需要在新的服務(wù)器上啟動需要的容器就可以砸逊。
  • Dockerer容器很快璧南,啟動和停止可以在秒級實現(xiàn),比傳統(tǒng)虛擬機要快很多师逸。
  • Docker核利用容器來實現(xiàn)類似VM的功能司倚,從而以更加節(jié)省的硬件資源提供,使得在一臺主機上同時運行數(shù)干個Docker容器成為可能篓像。
  • Docker 操作方便动知,還可以通過Dockerfle配置鏡像文件,支持靈活的自動化創(chuàng)建和部署员辩。

Docker核心概念

1盒粮、鏡像(image)

Docker的鏡像是創(chuàng)建容器的基礎(chǔ),類似虛擬機的快照奠滑,可以理解為是一個面向Docker容器引擎的只讀模板丹皱,比如一個鏡像可以是一個完整的centos操作系統(tǒng)妒穴,也可以是一個安裝了MySQL的應(yīng)用程序,稱之為一個鏡像种呐。
鏡像文件用戶可以自己創(chuàng)建和更新現(xiàn)有鏡像,也可以從網(wǎng)上下載已經(jīng)做好的應(yīng)用鏡像直接使用弃甥。

2爽室、容器(Container)

容器是鏡像的另一個運行實例,是獨立運行的一個或一組應(yīng)用以及他們所必須的運行環(huán)境淆攻,包括文件系統(tǒng)阔墩、系統(tǒng)庫類、shell環(huán)境等瓶珊。鏡像是只讀模板啸箫,而容器會給這個只讀模板一個額外的可寫層。

3伞芹、倉庫(Repository)

倉庫是用來集中存放鏡像的地方忘苛,當自己創(chuàng)建了鏡像后,可以使用push命令將它上傳到公共倉庫(Public)或者私有倉庫(Private)唱较,這樣扎唾,當其他機器想要使用時,直接下載下來即可使用南缓。倉庫注冊服務(wù)器(Registry)是存放倉庫的地方胸遇,其中包含了多個庫,每個倉庫集中存放某一類鏡像汉形,并且使用不同的標簽來區(qū)分它們纸镊。

安裝Docker

安裝docker有兩種方式:其一:使用curl獲得docker的安裝腳本進行安裝;其二:使用docker自己的Yum源來安裝概疆。這里以yum源為例安裝docker逗威。

1.倉庫配置

vim /etc/yum.repos.d/docker.repo 

[docker-repo]
name=Doker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

2.安裝docker

yum install docker-engine -y

3.啟動服務(wù)

systemctl start docker
systemctl enable docker.service    #開機自啟動

4.鏡像加速

vim /etc/docker/daemon.json 

 {
    "registry-mirrors": [
        "https://registry.docker-cn.com"  #官方提供的國內(nèi)鏡像加速器地址
    ],
    "insecure-registries": []
}

5.重啟服務(wù)

systemctl daemon-reload
systemctl restart docker

6.查看docker版本

docker version 
image.png

7.查看docker的默認存儲目錄

image.png

Docker鏡像操作:

Docker運行容器前需要本地存在對應(yīng)的鏡像。如果不存在本地鏡像岔冀,docker就會嘗試從默認鏡像倉庫(官方倉庫)https://hub.docker.com下載

1.搜索鏡像

命令格式:docker search 關(guān)鍵字

例如搜索關(guān)鍵字為lamp的鏡像


image.png

2.獲取鏡像

下載鏡像不指定標簽庵楷,默認下載最新版本的鏡像,也可以通過指定的標簽下載特定版本的鏡像楣颠。這里的標簽(tag)是用來區(qū)分鏡像版本的尽纽。

命令格式:docker pull 倉庫名稱[:標簽]

例如下載鏡像nickistre/centos-lamp


image.png

整個下載過程可以看出,鏡像文件由若干層(Layer)組成童漩,我們稱之為AUFS(文件聯(lián)合系統(tǒng))弄贿,是實現(xiàn)增量保存與更新的基礎(chǔ),下載過程中會輸出鏡像的各層信息

3.查看鏡像信息

命令格式:docker images 倉庫名稱[:標簽]

例如查看本地所有鏡像


image.png

REPOSITORY ---鏡像屬于的倉庫
TAG ---鏡像的標簽信息矫膨,標記同一個倉庫中不同鏡像
IMAGE ID ---鏡像的唯一ID號差凹,唯一標識了該鏡像
CREATED ---鏡像創(chuàng)建時間
SIZE ---鏡像大小

4.獲取鏡像詳細信息

命令格式:docker inspect 鏡像ID號

例如獲取鏡像的詳細信息


image.png

5.為本地鏡像添加新標簽

命令格式:docker tag 名稱[:標簽] 新名稱[:標簽]

例如本地鏡像 添加新的名稱為lamp期奔,新的標簽為lamp


image.png

6.刪除鏡像

命令格式:docker rmi 倉庫名稱:標簽 或者docker rmi 鏡像ID號

例如刪除鏡像lamp:lamp


image.png

注意:當一個鏡像有多個標簽的時候,docker rmi 命令只是刪除該鏡像多個標簽中的指定標簽危尿,不會影響鏡像文件呐萌。但當該鏡像只剩下一個標簽的時候,此時刪除該標簽的時候會徹底刪除該鏡像谊娇。

image.png

使用docker rmi 鏡像ID號命令時肺孤,必須確保該鏡像沒有被容器使用才能進行,刪除時系統(tǒng)會先刪除掉指向該鏡像的所有標簽济欢,然后刪除鏡像本身赠堵。如果該鏡像已經(jīng)被容器使用,正確的做法是先刪除依賴該鏡像的所有容器法褥,再刪除鏡像

7.存出鏡像和載入鏡像(鏡像遷移)

存出鏡像茫叭,也就是將鏡像保存成本地文件。

命令格式:docker save -o 存儲文件名 存儲的鏡像

例如將本地的鏡像存出為文件lamp


image.png

載入鏡像半等,也就是將導(dǎo)出的文件導(dǎo)入到其他機器的鏡像庫中

命令格式:docker load < 存出的文件 或者docker --input 存出的文件

例如從文件lamp中載入鏡像本地鏡像庫


image.png

8.上傳鏡像

本地存儲的鏡像越來越多揍愁,就需要指定一個專門的地方存放這些鏡像-倉庫。

命令格式:docker push 倉庫名稱:標簽 

例如在公共倉庫上成功注冊了一個賬號杀饵,這個賬號叫做xiang10吗垮,新增的鏡像的標簽為xiang10/lamp:centos7

docker tag nickistre/centos-lamp  xiang10/lamp:centos7
image.png

成功登陸后上傳鏡像


image.png

Docker容器操作

1.創(chuàng)建容器

創(chuàng)建容器就是將鏡像加載到到容器,新創(chuàng)建的容器默認處于停止狀態(tài)凹髓,不運行任何程序烁登。

命令格式:docker create [選項] 鏡像 運行的程序

-i 讓容器對的輸入保持打開
-t 讓Docker分配一個偽終端
image.png

2.查看容器的運行狀態(tài)

docker ps       #查看所有容器的運行狀態(tài)
docker ps -a   #查看最近一次啟動的容器的運行狀態(tài)
image.png

3.創(chuàng)建并啟動容器

可以直接執(zhí)行docker run命令

其運行過程:
1.檢查本地是否存在指定的鏡像,當鏡像不存在時蔚舀,會從公共倉庫下載饵沧;
2.利用鏡像創(chuàng)建并啟動容器;
3.執(zhí)行用戶指定的應(yīng)用程序赌躺;
4.執(zhí)行完畢后容器被中止運行

例如創(chuàng)建容器并啟動執(zhí)行一條shell命令

docker run centos /usr/bin/bash -c ls / 
image.png
image.png

但有時候需要在后臺持續(xù)運行這個容器狼牺,就要讓docker以守護態(tài)在后臺運行,可以在docker run命令后添加“-d”選項實現(xiàn)礼患。那么是钥,容器運行的程序就不能結(jié)束。

docker run -d centos /usr/bin/bash -c "while true;do echo hello;done"
image.png

4.運行缅叠、中止容器

命令格式:docker start 容器的ID/名稱  #啟動停止狀態(tài)的容器

命令格式:docker stop 容器的ID/名稱  #中止運行狀態(tài)的容器
image.png

image.png

5.進入容器

當不進入容器時悄泥,容器運行完所執(zhí)行的程序后會自動停止,為了避免這樣的情況肤粱,我們需要進入容器執(zhí)行弹囚,且退出容器后,容器并不會停止领曼。

命令格式:docker exec -it 容器的ID/名稱 /bin/bash 
-i 讓容器對的輸入保持打開
-t 讓Docker分配一個偽終端
image.png

6.導(dǎo)出與導(dǎo)入容器

導(dǎo)出容器鸥鹉,也就是將已經(jīng)創(chuàng)建好的容器容器導(dǎo)出為文件

命令格式:docker export 容器的ID/名稱 > 文件名

例如導(dǎo)出容器到文件centos7tar


image.png

導(dǎo)入容器蛮穿,也就是將導(dǎo)出文件傳輸?shù)狡渌麢C器

命令格式:cat 文件名| docker import - 生成的鏡像名稱:標簽

例如導(dǎo)入文件centos7tar成為本地鏡像


image.png

7.刪除容器

將一個已經(jīng)處于中止狀態(tài)的容器刪除

命令格式:docker rm 容器的ID/名稱 
image.png

如果要刪除一個正在運行的容器,可以添加-f選項強制刪除毁渗,但建議先將容器停止再做刪除操作践磅。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市灸异,隨后出現(xiàn)的幾起案子府适,更是在濱河造成了極大的恐慌,老刑警劉巖绎狭,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件细溅,死亡現(xiàn)場離奇詭異褥傍,居然都是意外死亡儡嘶,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門恍风,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹦狂,“玉大人,你說我怎么就攤上這事朋贬】ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵锦募,是天一觀的道長摆屯。 經(jīng)常有香客問我,道長糠亩,這世上最難降的妖魔是什么虐骑? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮赎线,結(jié)果婚禮上廷没,老公的妹妹穿的比我還像新娘。我一直安慰自己垂寥,他們只是感情好颠黎,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著滞项,像睡著了一般狭归。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上文判,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天唉铜,我揣著相機與錄音,去河邊找鬼律杠。 笑死潭流,一個胖子當著我的面吹牛竞惋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播灰嫉,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼拆宛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了讼撒?” 一聲冷哼從身側(cè)響起浑厚,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎根盒,沒想到半個月后钳幅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡炎滞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年敢艰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片册赛。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡钠导,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出森瘪,到底是詐尸還是另有隱情牡属,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布扼睬,位于F島的核電站逮栅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏窗宇。R本人自食惡果不足惜措伐,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望担映。 院中可真熱鬧废士,春花似錦、人聲如沸蝇完。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽短蜕。三九已至氢架,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間朋魔,已是汗流浹背岖研。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人孙援。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓害淤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拓售。 傳聞我的和親對象是個殘疾皇子窥摄,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

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