8翼馆、Docker使用Dockerfile創(chuàng)建鏡像

Dockerfile是一個文本格式的配置文件闽瓢,用戶可以使用Dockerfile來快速創(chuàng)建自定義的鏡像埃跷。

1.基本結(jié)構(gòu)

Dockerfile由一行行命令語句組成迁沫,并且支持以#開頭的注釋行。一般而言捌蚊,Dockerfile主體內(nèi)容分為四部分:基礎(chǔ)鏡像信息集畅、維護(hù)者信息、鏡像操作指令和容器啟動時執(zhí)行指令缅糟。

示例:




image.png

2.指令說明

Dockerfile中指令的一般格式為INSTRUCTION arguments挺智,包括“配置指令”(配置鏡像信息)和“操作指令”(具體執(zhí)行操作)

2.1ARG

定義創(chuàng)建鏡像過程中使用的變量。格式為ARG <name>[=<default value>]窗宦。在執(zhí)行docker build時赦颇,可以通過-build-arg[=]來為變量賦值二鳄。當(dāng)鏡像編譯成功后,ARG指定的變量將不再存在(ENV指定的變量將在鏡像中保留)媒怯。Docker內(nèi)置了一些鏡像創(chuàng)建變量订讼,用戶可以直接使用而無須聲明,包括(不區(qū)分大小寫)HTTP_PROXY扇苞、HTTPS_PROXY欺殿、FTP_PROXY、NO_PROXY鳖敷。

2.2FROM

指定所創(chuàng)建鏡像的基礎(chǔ)鏡像脖苏。格式為FROM <image> [AS <name>]或FROM <image>:<tag> [AS <name>]或FROM<image>@<digest> [AS <name>]。任何Dockerfile中第一條指令必須為FROM指令定踱。并且棍潘,如果在同一個Dockerfile中創(chuàng)建多個鏡像時,可以使用多個FROM指令(每個鏡像一次)崖媚。為了保證鏡像精簡亦歉,可以選用體積較小的鏡像如Alpine或Debian作為基礎(chǔ)鏡像。例如:


2.3LABEL

其實(shí)就是一個輔助信息畅哑,算是備注或注釋吧


2.4EXPOSE

可以暴露多個端口

2.5ENV
2.6ENTRYPOINT

關(guān)于entrypoint與cmd命令肴楷,我不太懂怎么使用,于是找到了這樣的帖子講的還是比較易懂的:https://yeasy.gitbook.io/docker_practice/image/dockerfile/entrypoint

2.7VOLUME

創(chuàng)建一個數(shù)據(jù)卷掛載點(diǎn)敢课。格式為VOLUME ["/data"]。運(yùn)行容器時可以從本地主機(jī)或其他容器掛載數(shù)據(jù)卷绷杜,一般用來存放數(shù)據(jù)庫和需要保持的數(shù)據(jù)等直秆。

2.8USER
2.9WORKDIR
2.10 ONBUILD

2.11 STOPSIGNAL
2.12 HEALTHCHECK
2.13 SHELL

3.操作指令

3.1 RUN
3.2 CMD
3.3 ADD
3.4 COPY

復(fù)制內(nèi)容到鏡像。格式為COPY <src> <dest>鞭盟。復(fù)制本地主機(jī)的<src>(為Dockerfile所在目錄的相對路徑圾结,文件或目錄)下內(nèi)容到鏡像中的<dest>。目標(biāo)路徑不存在時齿诉,會自動創(chuàng)建筝野。路徑同樣支持正則格式。COPY與ADD指令功能類似粤剧,當(dāng)使用本地目錄為源目錄時歇竟,推薦使用COPY。

4.創(chuàng)建鏡像

編寫完成Dockerfile之后抵恋,可以通過docker [image] build命令來創(chuàng)建鏡像焕议。基本的格式為docker build [OPTIONS] PATH | URL | -弧关。

該命令將讀取指定路徑下(包括子目錄)的Dockerfile盅安,并將該路徑下所有數(shù)據(jù)作為上下文(Context)發(fā)送給Docker服務(wù)端唤锉。Docker服務(wù)端在校驗(yàn)Dockerfile格式通過后,逐條執(zhí)行其中定義的指令别瞭,碰到ADD窿祥、COPY和RUN指令會生成一層新的鏡像。最終如果創(chuàng)建鏡像成功蝙寨,會返回最終鏡像的ID晒衩。

如果上下文過大,會導(dǎo)致發(fā)送大量數(shù)據(jù)給服務(wù)端籽慢,延緩創(chuàng)建過程浸遗。因此除非是生成鏡像所必需的文件,不然不要放到上下文路徑下箱亿。如果使用非上下文路徑下的Dockerfile跛锌,可以通過-f選項(xiàng)來指定其路徑。

要指定生成鏡像的標(biāo)簽信息届惋,可以通過-t選項(xiàng)髓帽。該選項(xiàng)可以重復(fù)使用多次為鏡像一次添加多個名稱。例如脑豹,上下文路徑為/tmp/docker_builder/郑藏,并且希望生成鏡像標(biāo)簽為builder/first_image:1.0.0,可以使用下面的命令:

4.1命令選項(xiàng)
4.2選擇父鏡像

4.3使用.dockerignore文件
4.4多步驟創(chuàng)建

5.創(chuàng)建dokcerFile 規(guī)范


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瘩欺,一起剝皮案震驚了整個濱河市必盖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌俱饿,老刑警劉巖歌粥,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拍埠,居然都是意外死亡失驶,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進(jìn)店門枣购,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嬉探,“玉大人,你說我怎么就攤上這事棉圈∩蹋” “怎么了?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵分瘾,是天一觀的道長定躏。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么痊远? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任垮抗,我火速辦了婚禮,結(jié)果婚禮上碧聪,老公的妹妹穿的比我還像新娘冒版。我一直安慰自己,他們只是感情好逞姿,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布辞嗡。 她就那樣靜靜地躺著,像睡著了一般滞造。 火紅的嫁衣襯著肌膚如雪续室。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天谒养,我揣著相機(jī)與錄音挺狰,去河邊找鬼。 笑死买窟,一個胖子當(dāng)著我的面吹牛丰泊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播始绍,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼瞳购,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了亏推?” 一聲冷哼從身側(cè)響起学赛,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吞杭,沒想到半個月后盏浇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡篇亭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年缠捌,在試婚紗的時候發(fā)現(xiàn)自己被綠了锄贷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片译蒂。...
    茶點(diǎn)故事閱讀 38,777評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖谊却,靈堂內(nèi)的尸體忽然破棺而出柔昼,到底是詐尸還是另有隱情,我是刑警寧澤炎辨,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布捕透,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏乙嘀。R本人自食惡果不足惜末购,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望虎谢。 院中可真熱鬧盟榴,春花似錦、人聲如沸婴噩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽几莽。三九已至迅办,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間章蚣,已是汗流浹背站欺。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留究驴,地道東北人镊绪。 一個月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像洒忧,于是被迫代替她去往敵國和親蝴韭。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,687評論 2 351

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