總目錄索引:K8s 從入門到放棄系列
FROM
功能為指定基礎鏡像,并且必須是第一條指令。
如果不以任何鏡像為基礎,那麼寫法為:FROM scratch。
同時意味着接下來所寫的指令将作為鏡像的第一層開始
文法:
RUN
功能為運作指定的指令
RUN指令有兩種格式
第二種是類似于函數調用。
可将executable了解成為可執行檔案,後面就是兩個參數。
兩種寫法比對:
CMD
功能為容器啟動時要運作的指令
文法有三種寫法
RUN & CMD
不要把RUN和CMD搞混了。
LABEL
功能是為鏡像指定标簽
如下:
MAINTAINER
指定作者
ENV
功能為設定環境變量
文法有兩種
ADD
一個複制指令,把檔案複制到景象中。
如果把虛拟機與容器想象成兩台linux伺服器的話,那麼這個指令就類似于scp,隻是scp需要加使用者名和密碼的權限驗證,而ADD不用。
文法如下:
如果把<src>寫成一個url,那麼ADD就類似于wget指令
如以下寫法都是可以的:
COPY
看這個名字就知道,又是一個複制指令
ENTRYPOINT
功能是啟動時的預設指令
與CMD比較說明(這倆指令太像了,而且還可以配合使用):
VOLUME
可實作挂載功能,可以将内地檔案夾或者其他容器種得檔案夾挂在到這個容器種
文法為:
USER
設定啟動容器的使用者,可以是使用者名或UID,是以,隻有下面的兩種寫法是正确的
WORKDIR
如:
WORKDIR也可以解析環境變量
ARG
我們可以定義一個或多個參數,如下:
也可以給參數一個預設值:
如果我們給了ARG定義的參數預設值,那麼當build鏡像時沒有指定參數值,将會使用這個預設值
ONBUILD
STOPSIGNAL
HEALTHCHECK
容器健康狀況檢查指令
文法有兩種:
[OPTIONS]的選項支援以下三中選項:
注意:
HEALTHCHECK指令隻能出現一次,如果出現了多次,隻有最後一個生效。
CMD後邊的指令的傳回值決定了本次健康檢查是否成功,具體的傳回值如下:
例子:
