圖表君聊Docker-基本概念

上篇文章我們介紹了docker的歷史由來帶來的一些好處陨晶,從這篇文章開始浓利,我們開始正式的進(jìn)入Docker的世界型将,首先給大家介紹一下Docker一些基本概念。

Docker的基本概念

Docker的基本概念并不是很多顷啼,就是三個(gè):

  • 鏡像(image)
  • 容器(Container)
  • 倉庫(Repository)

深入理解這三個(gè)概念踏枣,對于docker的理解會(huì)有很大的幫助。

  1. 什么是image呢钙蒙,簡單來說image就是一個(gè)鏡像茵瀑,一個(gè)系統(tǒng)的snapshot,可以類比于一個(gè)vm的image,或者如果你用過AWS躬厌,類似于一個(gè)AMI文件马昨。

  2. 什么是Container,Container是簡易版的Linux環(huán)境扛施,可以類比的與一個(gè)Virtual Machine 或者 一個(gè)EC2的instance鸿捧。

  3. 那個(gè)image和Container什么關(guān)系呢?一個(gè)docker Container 需要加載一個(gè)image然后執(zhí)行疙渣。image是run在Container里的匙奴。

  4. 什么是repository呢?repository是一個(gè)image倉庫妄荔,可以將打好的Docker image push這個(gè)倉庫中與他人分享泼菌。

image-run-container.png

相信上篇文章后大家已經(jīng)把docker安裝好了吧。下邊我們就來一步步的介紹這個(gè)三個(gè)概念啦租。

Docker Image

運(yùn)行docker pull命令可以從倉庫中獲取鏡像哗伯。

    docker pull ubuntu:16.04

當(dāng)運(yùn)行這條命令的時(shí)候,實(shí)際上是從docker hub 上來請求標(biāo)記為16.04 的Ubuntu image篷角,當(dāng)然由于眾所周知的原因焊刹,pull的速度會(huì)很慢。所以我們可以選擇從國內(nèi)的一些repository來pull images恳蹲。例如這樣:

    docker pull daocloud.io/ubuntu:14.04

如何看到我們本地已經(jīng)pull下來的images呢虐块?使用docker images可以列出本地已有的鏡像。

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
python              3.5-alpine          4f778158195b        5 days ago          87.58 MB
python              3.5.2-alpine        4f778158195b        5 days ago          87.58 MB
python              2.7-alpine          8b2171e895fd        3 weeks ago         71.97 MB

我們可以看到他是來自哪個(gè)倉庫的阱缓,image的標(biāo)價(jià)非凌,全局唯一的ID举农,創(chuàng)建的時(shí)間 和鏡像的大小荆针。同樣如果我們想查看哪個(gè)倉庫的images 可以這樣:

    docker images ubuntu

images下載好了,我們怎么運(yùn)行這個(gè)image呢?easy

    docker run -t -i ubuntu /bin/bash
    root@fc8e5743f790:/#

這樣我們就使用這個(gè)image創(chuàng)建了一個(gè)Container 并運(yùn)行bash應(yīng)用航背。ps.上邊的 -t 讓docker分配一個(gè)偽終端并綁定到容器的標(biāo)準(zhǔn)輸入上喉悴,-i 讓容器的標(biāo)準(zhǔn)輸入保持打開。

下邊的一個(gè)問題是如何創(chuàng)建一個(gè)image呢玖媚,有兩種方法箕肃,一種是我們基于現(xiàn)有的image,例如這樣:

    docker run -i -t ubuntu /bin/bash
    root@c5c7fa33b061:/# apt-get update && apt-get install -y curl
    ...

我們創(chuàng)建了一個(gè)docker container 并在其中裝上curl今魔,這是注意我們得記下他的ID勺像。

    docker commit c5c7fa33b061 ubuntu-have-curl
    docker history ubuntu-have-curl

我們使用了docke commit 生成了一個(gè)new image ‘Ubuntu-have-curl’,并用docker history看看這個(gè)image的歷史错森。
下來我們用這個(gè)image來curl一下吟宦。

docker run ubuntu-have-curl curl https://www.baidu.com
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2443  100  2443    0     0  12234      0 --:--:-- --:--:-- --:--:-- 12215

easy? Yes.這樣我們就build一個(gè)帶curl的Ubuntu image,你可以把他push 到 docker hub上涩维,讓更多人使用了殃姓。

使用docker commit 可以對于一個(gè)鏡像做些簡單的擴(kuò)展,但不方便分享和他人的利用瓦阐。另外一種方式是使用dockerfile蜗侈,這是更加通用的方法,這里暫不詳解睡蟋,后邊會(huì)專門的介紹dockerfile踏幻。

我們看了pull,build戳杀,run一個(gè)image叫倍,下來看看如何刪除吧。命令很簡單 docker rmi

    docker rmi ubuntu:14.04

當(dāng)我們使用了一段時(shí)間以后豺瘤,我們運(yùn)行docker images會(huì)發(fā)現(xiàn)有很多沒有tag的images吆倦,大量占據(jù)著磁盤空間,那么勢必就要清理下了坐求。
運(yùn)行下邊這條命令蚕泽,我們就可以清理下了。

$ sudo docker rmi $(docker images -q -f "dangling=true")

今天就寫到這里桥嗤,下篇我們繼續(xù)介紹 Docker Container须妻。
原創(chuàng)文章,歡迎轉(zhuǎn)發(fā)泛领,但請標(biāo)明出處荒吏。歡迎關(guān)注圖表君的公眾號(hào),一起成長渊鞋。在微信中搜索 “多彩數(shù)據(jù)” 或者 “Data_Visualization”

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绰更,一起剝皮案震驚了整個(gè)濱河市瞧挤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌儡湾,老刑警劉巖特恬,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異徐钠,居然都是意外死亡癌刽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門尝丐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來显拜,“玉大人,你說我怎么就攤上這事爹袁∷嫌停” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵呢簸,是天一觀的道長矮台。 經(jīng)常有香客問我,道長根时,這世上最難降的妖魔是什么瘦赫? 我笑而不...
    開封第一講書人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮蛤迎,結(jié)果婚禮上确虱,老公的妹妹穿的比我還像新娘。我一直安慰自己替裆,他們只是感情好校辩,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辆童,像睡著了一般宜咒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上把鉴,一...
    開封第一講書人閱讀 49,842評(píng)論 1 290
  • 那天故黑,我揣著相機(jī)與錄音,去河邊找鬼庭砍。 笑死场晶,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的怠缸。 我是一名探鬼主播诗轻,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼揭北!你這毒婦竟也來了扳炬?” 一聲冷哼從身側(cè)響起吏颖,我...
    開封第一講書人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鞠柄,沒想到半個(gè)月后侦高,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嫉柴,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡厌杜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了计螺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片夯尽。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖登馒,靈堂內(nèi)的尸體忽然破棺而出匙握,到底是詐尸還是另有隱情,我是刑警寧澤陈轿,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布圈纺,位于F島的核電站,受9級(jí)特大地震影響麦射,放射性物質(zhì)發(fā)生泄漏蛾娶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一潜秋、第九天 我趴在偏房一處隱蔽的房頂上張望蛔琅。 院中可真熱鬧,春花似錦峻呛、人聲如沸罗售。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寨躁。三九已至,卻和暖如春牙勘,著一層夾襖步出監(jiān)牢的瞬間朽缎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來泰國打工谜悟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留话肖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓葡幸,卻偏偏與公主長得像最筒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子蔚叨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

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