第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何查看docker鏡像的dockerfile

如何查看docker鏡像的dockerfile

梵蒂岡之花 2019-03-03 04:04:04
如何查看docker鏡像的dockerfile
查看完整描述

4 回答

?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

Dockerfile的指令是忽略大小寫的,建議使用大寫,使用 # 作為注釋,每一行只支持一條指令,每條指令可以攜帶多個(gè)參數(shù)。
Dockerfile的指令根據(jù)作用可以分為兩種,構(gòu)建指令和設(shè)置指令。構(gòu)建指令用于構(gòu)建image,其指定的操作不會(huì)在運(yùn)行image的容器上執(zhí)行;設(shè)置指令用于設(shè)置image的屬性,其指定的操作將在運(yùn)行image的容器中執(zhí)行。

(1)FROM(指定基礎(chǔ)image)
構(gòu)建指令,必須指定且需要在Dockerfile其他指令的前面。后續(xù)的指令都依賴于該指令指定的image。FROM指令指定的基礎(chǔ)image可以是官方遠(yuǎn)程倉(cāng)庫(kù)中的,也可以位于本地倉(cāng)庫(kù)。
該指令有兩種格式:

[plain] view plaincopy
FROM <image>
指定基礎(chǔ)image為該image的最后修改的版本?;蛘撸?br/>
[plain] view plaincopy
FROM <image>:<tag>
指定基礎(chǔ)image為該image的一個(gè)tag版本。

(2)MAINTAINER(用來(lái)指定鏡像創(chuàng)建者信息)
構(gòu)建指令,用于將image的制作者相關(guān)的信息寫入到image中。當(dāng)我們對(duì)該image執(zhí)行docker inspect命令時(shí),輸出中有相應(yīng)的字段記錄該信息。
格式:

[plain] view plaincopy
MAINTAINER <name>

(3)RUN(安裝軟件用)
構(gòu)建指令,RUN可以運(yùn)行任何被基礎(chǔ)image支持的命令。如基礎(chǔ)image選擇了ubuntu,那么軟件管理部分只能使用ubuntu的命令。
該指令有兩種格式:

[plain] view plaincopy
RUN <command> (the command is run in a shell - `/bin/sh -c`)
RUN ["executable", "param1", "param2" ... ] (exec form)

(4)CMD(設(shè)置container啟動(dòng)時(shí)執(zhí)行的操作)
設(shè)置指令,用于container啟動(dòng)時(shí)指定的操作。該操作可以是執(zhí)行自定義腳本,也可以是執(zhí)行系統(tǒng)命令。該指令只能在文件中存在一次,如果有多個(gè),則只執(zhí)行最后一條。
該指令有三種格式:

[plain] view plaincopy
CMD ["executable","param1","param2"] (like an exec, this is the preferred form)
CMD command param1 param2 (as a shell)
當(dāng)Dockerfile指定了ENTRYPOINT,那么使用下面的格式:

[plain] view plaincopy
CMD ["param1","param2"] (as default parameters to ENTRYPOINT)
ENTRYPOINT指定的是一個(gè)可執(zhí)行的腳本或者程序的路徑,該指定的腳本或者程序?qū)?huì)以param1和param2作為參數(shù)執(zhí)行。所以如果CMD指令使用上面的形式,那么Dockerfile中必須要有配套的ENTRYPOINT。

(5)ENTRYPOINT(設(shè)置container啟動(dòng)時(shí)執(zhí)行的操作)
設(shè)置指令,指定容器啟動(dòng)時(shí)執(zhí)行的命令,可以多次設(shè)置,但是只有最后一個(gè)有效。
兩種格式:

[plain] view plaincopy
ENTRYPOINT ["executable", "param1", "param2"] (like an exec, the preferred form)
ENTRYPOINT command param1 param2 (as a shell)
該指令的使用分為兩種情況,一種是獨(dú)自使用,另一種和CMD指令配合使用。
當(dāng)獨(dú)自使用時(shí),如果你還使用了CMD命令且CMD是一個(gè)完整的可執(zhí)行的命令,那么CMD指令和ENTRYPOINT會(huì)互相覆蓋只有最后一個(gè)CMD或者ENTRYPOINT有效。

[plain] view plaincopy
# CMD指令將不會(huì)被執(zhí)行,只有ENTRYPOINT指令被執(zhí)行
CMD echo “Hello, World!”
ENTRYPOINT ls -l
另一種用法和CMD指令配合使用來(lái)指定ENTRYPOINT的默認(rèn)參數(shù),這時(shí)CMD指令不是一個(gè)完整的可執(zhí)行命令,僅僅是參數(shù)部分;ENTRYPOINT指令只能使用JSON方式指定執(zhí)行命令,而不能指定參數(shù)。



查看完整回答
反對(duì) 回復(fù) 2019-03-14
  • 4 回答
  • 0 關(guān)注
  • 25755 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)