1.基本結(jié)構(gòu)
基礎(chǔ)鏡像信息寨腔,維護(hù)者信息,鏡像操作指令和容器啟動(dòng)時(shí)執(zhí)行指令
2.指令說(shuō)明
(1)FROM:指定所創(chuàng)建鏡像的基礎(chǔ)鏡像率寡,如果本地不存在迫卢,則默認(rèn)會(huì)去docker hub下載
(2)MAINTAINER:指定維護(hù)者信息
(3)RUN:運(yùn)行指定命令
格式:RUN command 或RUN ["execuable","param1","param2"]
(4)CMD:用來(lái)指定啟動(dòng)容器時(shí)默認(rèn)執(zhí)行的命令
格式:
《1》CMD ["executable","param1","param2"] (推薦用)
《2》CMD command param1 param2
《3》CMD ["param1","param2"]:提供給ENTRYPOINT的默認(rèn)參數(shù)
如果用戶啟動(dòng)容器時(shí)手動(dòng)指定了運(yùn)行命令作為run的參數(shù),則會(huì)覆蓋掉CMD指定的命令
(5)LABEL:用來(lái)指定生成鏡像的元數(shù)據(jù)標(biāo)簽信息
格式:
LABEL key=value key=value ...
(6)EXPOSE:申明鏡像內(nèi)服務(wù)所監(jiān)聽的端口
格式:EXPOSE port ....
該指令只是起到申明作用冶共,并不會(huì)自動(dòng)完成端口的映射乾蛤,在啟動(dòng)容器時(shí)需使用-p
(7)ENV:指定環(huán)境變量
格式:
ENV key value或ENV key=value
docker run --env key=value可覆蓋指定環(huán)境變量
(8)ADD:復(fù)制指定路徑下的內(nèi)容到容器中的指定路徑下
格式:
ADD src dest
(9)COPY:復(fù)制本地主機(jī)指定路徑下的內(nèi)容到鏡像中的指定路徑每界,目標(biāo)路徑不存在時(shí),自動(dòng)創(chuàng)建
格式:
COPY src dest
(10)ENTRYPOINT:指定鏡像的默認(rèn)入口命令
格式:
ENTRYPOINT ["executable","param1","param2"]
ENTRYPOINT command param1 param2
可被--entrypoint參數(shù)覆蓋
(11)VOLUME:創(chuàng)建一個(gè)數(shù)據(jù)卷掛載點(diǎn)
格式:
VOLUME ["/data"]
(12)USER:指定運(yùn)行容器時(shí)的用戶名或UID
格式:
USER daemon
(13)WORKDIR:為后續(xù)的RUN家卖,CMD眨层,ENTRYPOINT指定配置工作目錄
格式:
WORKDIR /path/to/workdir
(14)ARG:指定一些鏡像內(nèi)的參數(shù),這些參數(shù)在執(zhí)行docker build命令時(shí)才以--build-arg varname=value格式傳入
格式:
ARG name[=default value]
可以用docker build --build-arg name=value指定參數(shù)
(15)ONBUILD:配置當(dāng)所創(chuàng)建的鏡像作為其他鏡像的基礎(chǔ)鏡像時(shí)上荡,所執(zhí)行的創(chuàng)建操作指令
格式:
ONBUILD [INSRUCTTON]
(16)STOPSIGNAL:指定所創(chuàng)建鏡像啟動(dòng)時(shí)的容器接收退出的信號(hào)值
(17)SHELL:指定其他命令使用shell時(shí)的默認(rèn)shell類型
3.創(chuàng)建鏡像
docker build [option] 內(nèi)容路徑