關(guān)鍵字
Dockerfile
中以#
開(kāi)頭的行全為注釋行-
FROM <image>:<tag>
指定基礎(chǔ)鏡像
-
MAINTAINER <name>
指定維護(hù)者信息
-
RUN <command>
或RUN ["executable file", "parameter1", ...]
在當(dāng)前鏡像中執(zhí)行指定命令忘嫉,執(zhí)行的結(jié)果會(huì)被鏡像保存
CMD
用法類似于RUN
,用于指定Docker容器啟動(dòng)時(shí)執(zhí)行的命令。Dockerfile中只能有一個(gè)CMD阴汇,并且此CMD命令會(huì)被啟動(dòng)Docker容器時(shí)指定的參數(shù)覆蓋-
LABEL <key>=<value> <key>=<value>
為Docker鏡像指定meta信息澈灼,同時(shí)會(huì)覆蓋基礎(chǔ)鏡像中的meta信息
-
EXPOSE <port> <port> ....
指定暴露的端口號(hào)
-
ENV <key>=<value>
或者ENV <key> <value>
指定鏡像的環(huán)境變量絮缅,會(huì)被鏡像保存下來(lái)
-
ADD <src> <des>
拷貝主機(jī)的文件或者目錄到鏡像中怎燥。此命令會(huì)自動(dòng)解壓tar文件
COPY <src> <des>
和ADD
命令類似负饲,但此命令不會(huì)自動(dòng)解壓tar文件-
ENTRYPOINT <command>
或ENTRYPOINT ["executable file", "parameter1", ...]
配置容器啟動(dòng)后啟動(dòng)的命令堤魁,類似
CMD
,但此命令不會(huì)被啟動(dòng)Docker容器時(shí)指定的參數(shù)覆蓋 -
VOLUME ["/data/"]
指定一個(gè)可以從主機(jī)或者其他容器掛載的掛載點(diǎn)
-
USER username
指定后續(xù)操作所用的用戶名
-
WORKDIR <dir path>
為后續(xù)操作指定工作目錄
-
ONBUILD <command>
指定當(dāng)此鏡像作為基礎(chǔ)鏡像時(shí)指定的命令返十,會(huì)在
FROM
之后執(zhí)行