ARG 建構參數

格式:ARG <參數名>[=<預設值>]

建構參數和 ENV 的效果一樣,都是設定環境變數。所不同的是,ARG 所設定的建構環境的環境變數,在將來容器執行時是不會存在這些環境變數的。但是不要因此就是用 ARG 儲存密碼之類的資訊,因為 docker history 還是可以看到所有值的。

Dockerfile 中的 ARG 指令是定義參數名稱,以及定義其預設值。該預設值可以在建構指令 docker build 中用 --build-arg <參數名>=<值> 來覆寫。

在 1.13 之前的版本,要求 --build-arg 中的參數名,必須在 Dockerfile 中用 ARG 定義過了,換句話說,就是 --build-arg 指定的參數,必須在 Dockerfile 中使用了。如果對應參數沒有被使用,則會報錯結束建構。從 1.13 開始,這種嚴格的限制被放開,不再報錯結束,而是顯示警告資訊,並繼續建構。這對於使用 CI 系統,用同樣的建構流程建構不同的 Dockerfile 的時候比較有說明,避免建構指令必須根據每個 Dockerfile 的內容修改。

results matching ""

    No results matching ""