docker基礎:dockerfile經常使用指令

blog:https://www.cnblogs.com/Rohn/docker

目錄

Dockerfile

Dockerfile是一個文本文件,記錄了鏡像構建的全部步驟。shell

Dockerfile經常使用指令以下:網絡

# 指定base鏡像
FROM <image>
FROM <image>:<tag>
FROM <image>@<digest>

# 維護者信息
MAINTAINER <name>

# 構建鏡像時執行的命令
RUN <command>
RUN ["executable", "param1", "param2"]

# 將本地文件添加到容器中,tar類型文件會自動解壓(網絡壓縮資源不會被解壓),能夠訪問網絡資源,相似wget
ADD <src>... <dest>
ADD ["<src>",... "<dest>"]  # 用於支持包含空格的路徑

# 將文件從build context複製文件到鏡像
COPY <src>... <dest>
COPY ["<src>",... "<dest>"]

# 構建容器後調用,也就是在容器啓動時才進行調用
CMD ["executable","param1","param2"] # 執行可執行文件,優先
CMD ["param1","param2"]  # 設置了ENTRYPOINT,則直接調用ENTRYPOINT添加參數
CMD command param1 param2  # 執行shell內部命令

# 配置容器,使其可執行化。配合CMD可省去"application",只使用參數
ENTRYPOINT ["executable", "param1", "param2"] # 可執行文件, 優先
ENTRYPOINT command param1 param2 # shell內部命令

# 爲鏡像添加元數據
LABEL <key>=<value> <key>=<value> <key>=<value> ...

# 設置環境變量
ENV <key> <value>  # <key>以後的全部內容均會被視爲其<value>的組成部分,所以,一次只能設置一個變量
ENV <key>=<value> ...  # 能夠設置多個變量,每一個變量爲一個"<key>=<value>"的鍵值對,若是<key>中包含空格,能夠使用\來進行轉義,也能夠經過""來進行標示;另外,反斜線也能夠用於續行

# 指定持久化目錄
VOLUME ["/path/to/dir"]

# 切換工做目錄
WORKDIR /path/to/workdir
相關文章
相關標籤/搜索