dockerfile 與 docker-compose的區(qū)別

先簡單理解 docker 的使用過程犀呼,它分為鏡像構(gòu)建與容器啟動魄眉。

鏡像構(gòu)建:即創(chuàng)建一個鏡像晰奖,它包含安裝運行所需的環(huán)境、程序代碼等致盟。這個創(chuàng)建過程就是使用 dockerfile 來完成的碎税。

容器啟動:容器最終運行起來是通過拉取構(gòu)建好的鏡像,通過一系列運行指令(如端口映射馏锡、外部數(shù)據(jù)掛載雷蹂、環(huán)境變量等)來啟動服務(wù)的。針對單個容器杯道,這可以通過 docker run 來運行匪煌。

而如果涉及多個容器的運行(如服務(wù)編排)就可以通過 docker-compose 來實現(xiàn),它可以輕松的將多個容器作為 service 來運行(當(dāng)然也可僅運行其中的某個),并且提供了 scale (服務(wù)擴(kuò)容) 的功能萎庭。

簡單總結(jié):

1.dockerfile: 構(gòu)建鏡像霜医;

2.docker run: 啟動容器;

3.docker-compose: 啟動服務(wù)驳规;

從頭說起肴敛。

假如你不用 docker ,搭建 wordpress 怎么弄吗购?先找臺 server 医男,假設(shè)其 OS 為 Ubuntu ,然后按照文檔一步步敲命令捻勉,寫配置镀梭,對吧?

用 docker 呢踱启? 隨便找臺 server 报账,不管什么操作系統(tǒng),只要支持 docker 就行禽捆, docker run ubuntu, docker 會從官方源里拉取最新的 Ubuntu 鏡像笙什,可以認(rèn)為你開了個 Ubuntu 虛擬機,然后一步步安裝胚想,跟上面一樣。

但是這樣安裝有個顯著的缺點芽隆,一旦 container 被刪浊服,你做的工作就都沒了。當(dāng)然可以用 docker commit 來保存成鏡像胚吁,這樣就可以復(fù)用了牙躺。

但是鏡像一般比較大,而且只分享鏡像的話腕扶,別人也不知道你這鏡像到底包含什么孽拷,這些問題都不利于分享和復(fù)用。

一個直觀的解決方案就是半抱,寫個腳本把安裝過程全部記錄下來脓恕,這樣再次安裝的時候,執(zhí)行腳本就行了窿侈。 Dockerfile 就是這樣的腳本炼幔,它記錄了一個鏡像的制作過程。

有了 Dockerfile, 只要執(zhí)行 docker build . 就能制作鏡像史简,而且 Dockerfile 就是文本文件乃秀,修改也很方便。

現(xiàn)在有了 wordpress 的鏡像,只需要 docker run 就把 wordpress 啟動起來了跺讯。

如果僅僅是 wordpress, 這也就夠了枢贿。但是很多時候,需要多個鏡像合作才能啟動一個服務(wù)刀脏,比如前端要有 nginx 萨咕, 數(shù)據(jù)庫 mysql, 郵件服務(wù)等等,當(dāng)然你可以把所有這些都弄到一個鏡像里去火本,但這樣做就無法復(fù)用了危队。

更常見的是, nginx, mysql, smtp 都分別是個鏡像,然后這些鏡像合作钙畔,共同服務(wù)一個項目茫陆。

docker-compose 就是解決這個問題的。你的項目需要哪些鏡像擎析,每個鏡像怎么配置簿盅,要掛載哪些 volume, 等等信息都包含在 docker-compose.yml 里。

要啟動服務(wù)揍魂,只需要 docker-compose up 就行桨醋,停止也只需要 docker-compse stop/down

簡而言之, Dockerfile 記錄單個鏡像的構(gòu)建過程现斋, docker-compse.yml 記錄一個項目(project, 一般是多個鏡像)的構(gòu)建過程喜最。

你說有些教程用了 dockerfile+docker-compose, 是因為 docker-compose.yml 本身沒有鏡像構(gòu)建的信息,如果鏡像是從 docker registry 拉取下來的庄蹋,那么 Dockerfile 就不需要瞬内;如果鏡像是需要 build 的,那就需要提供 Dockerfile.

docker-compose是編排容器的限书。例如虫蝶,你有一個php鏡像,一個mysql鏡像倦西,一個nginx鏡像能真。如果沒有docker-compose,那么每次啟動的時候扰柠,你需要敲各個容器的啟動參數(shù)粉铐,環(huán)境變量,容器命名耻矮,指定不同容器的鏈接參數(shù)等等一系列的操作驹吮,相當(dāng)繁瑣试躏。而用了docker-composer之后夜赵,你就可以把這些命令一次性寫在docker-composer.yml文件中,以后每次啟動這一整個環(huán)境(含3個容器)的時候倡缠,你只要敲一個docker-composer up命令就ok了。

dockerfile的作用是從無到有的構(gòu)建鏡像茎活。它包含安裝運行所需的環(huán)境昙沦、程序代碼等。這個創(chuàng)建過程就是使用 dockerfile 來完成的载荔。Dockerfile - 為 docker build 命令準(zhǔn)備的盾饮,用于建立一個獨立的 image ,在 docker-compose 里也可以用來實時 build

docker-compose.yml - 為 docker-compose 準(zhǔn)備的腳本懒熙,可以同時管理多個 container 丘损,包括他們之間的關(guān)系、用官方 image 還是自己 build 工扎、各種網(wǎng)絡(luò)端口定義徘钥、儲存空間定義等

原文鏈接:https://blog.csdn.net/DDFFR/article/details/77049118

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市肢娘,隨后出現(xiàn)的幾起案子呈础,更是在濱河造成了極大的恐慌,老刑警劉巖橱健,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件而钞,死亡現(xiàn)場離奇詭異,居然都是意外死亡拘荡,警方通過查閱死者的電腦和手機臼节,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來俱病,“玉大人官疲,你說我怎么就攤上這事×料叮” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵垢夹,是天一觀的道長溢吻。 經(jīng)常有香客問我,道長果元,這世上最難降的妖魔是什么促王? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮而晒,結(jié)果婚禮上蝇狼,老公的妹妹穿的比我還像新娘。我一直安慰自己倡怎,他們只是感情好迅耘,可當(dāng)我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布贱枣。 她就那樣靜靜地躺著,像睡著了一般颤专。 火紅的嫁衣襯著肌膚如雪纽哥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天栖秕,我揣著相機與錄音春塌,去河邊找鬼。 笑死簇捍,一個胖子當(dāng)著我的面吹牛只壳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播暑塑,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼吼句,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了梯投?” 一聲冷哼從身側(cè)響起命辖,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎分蓖,沒想到半個月后尔艇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡么鹤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年终娃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蒸甜。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡棠耕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出柠新,到底是詐尸還是另有隱情窍荧,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布恨憎,位于F島的核電站蕊退,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏憔恳。R本人自食惡果不足惜瓤荔,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钥组。 院中可真熱鬧输硝,春花似錦、人聲如沸程梦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至愉粤,卻和暖如春砾医,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背衣厘。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工如蚜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人影暴。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓错邦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親型宙。 傳聞我的和親對象是個殘疾皇子撬呢,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,554評論 2 349