Blog:博客園 個人
Dockerfile
Dockerfile是一個文本文件,記錄了鏡像構(gòu)建的所有步驟。
Dockerfile常用指令如下:
# 指定base鏡像
FROM <image>
FROM <image>:<tag>
FROM <image>@<digest>
# 維護者信息
MAINTAINER <name>
# 構(gòu)建鏡像時執(zhí)行的命令
RUN <command>
RUN ["executable", "param1", "param2"]
# 將本地文件添加到容器中,tar類型文件會自動解壓(網(wǎng)絡壓縮資源不會被解壓),可以訪問網(wǎng)絡資源,類似wget
ADD <src>... <dest>
ADD ["<src>",... "<dest>"] # 用于支持包含空格的路徑
# 將文件從build context復制文件到鏡像
COPY <src>... <dest>
COPY ["<src>",... "<dest>"]
# 構(gòu)建容器后調(diào)用,也就是在容器啟動時才進行調(diào)用
CMD ["executable","param1","param2"] # 執(zhí)行可執(zhí)行文件,優(yōu)先
CMD ["param1","param2"] # 設置了ENTRYPOINT,則直接調(diào)用ENTRYPOINT添加參數(shù)
CMD command param1 param2 # 執(zhí)行shell內(nèi)部命令
# 配置容器,使其可執(zhí)行化。配合CMD可省去"application",只使用參數(shù)
ENTRYPOINT ["executable", "param1", "param2"] # 可執(zhí)行文件, 優(yōu)先
ENTRYPOINT command param1 param2 # shell內(nèi)部命令
# 為鏡像添加元數(shù)據(jù)
LABEL <key>=<value> <key>=<value> <key>=<value> ...
# 設置環(huán)境變量
ENV <key> <value> # <key>之后的所有內(nèi)容均會被視為其<value>的組成部分,因此,一次只能設置一個變量
ENV <key>=<value> ... # 可以設置多個變量,每個變量為一個"<key>=<value>"的鍵值對,如果<key>中包含空格,可以使用\來進行轉(zhuǎn)義,也可以通過""來進行標示;另外,反斜線也可以用于續(xù)行
# 指定持久化目錄
VOLUME ["/path/to/dir"]
# 切換工作目錄
WORKDIR /path/to/workdir
|