日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Dockerfile 使用 ARG 参数实现构建模板

發布時間:2023/12/4 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Dockerfile 使用 ARG 参数实现构建模板 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Dockerfile 使用 ARG 參數實現構建模板

Intro

Dockerfile 里用來表示變量的主要有兩個東西,一個是 ENV 代表了環境變量,另外一個則是 ARG 代表是構建 docker 鏡像時的一個構建參數,需要在執行 docker build 命令時指定變量的值,最近使用了 ARG 來表示在 Dockerfile 里安裝 dotnet global tool 的版本

Sample

來看一個使用示例,下面是一個 Dockerfile 示例

FROM?mcr.microsoft.com/dotnet/runtime:6.0-alpine?AS?base LABEL?Maintainer="WeihanLi"FROM?mcr.microsoft.com/dotnet/sdk:6.0-alpine?AS?build-env #?dotnet-httpie?version,?docker?build?--build-arg?TOOL_VERSION=0.1.0?-t?weihanli/dotnet-httpie:0.1.0?. ARG?TOOL_VERSION RUN?dotnet?tool?install?--global?dotnet-httpie?--version?${TOOL_VERSION}FROM?base?AS?final COPY?--from=build-env?/root/.dotnet/tools?/root/.dotnet/tools ENV?PATH="/root/.dotnet/tools:${PATH}"

在上面的 Dockerfile 中我們聲明了一個 TOOL_VERSION 的參數,需要在 docker build 的時候通過 build-arg 來指定這個參數,如果不指定會報錯,因為我們并沒有指定默認值,你也可以在聲明的時候指定一個默認值 ARG TOOL_VERSION=1.0.0

實際 build docker 鏡像時使用下面的命令:

docker?build?--build-arg?TOOL_VERSION=0.1.0?-t?weihanli/dotnet-httpie:0.1.0?.docker?build?--build-arg?TOOL_VERSION=0.1.1-preview-20210829-075835?-t?weihanli/dotnet-httpie:0.1.1-preview-20210829-075835?.

可以看到實際安裝的?dotnet tool 版本就是 build 的時候指定的版本

More

很多人可能會想要問什么時候用 ARG 什么時候用 ENV 呢,剛好看到 StackOverflow 上的一個回答,可以參考:https://stackoverflow.com/questions/41916386/arg-or-env-which-one-to-use-in-this-case

如果你想在構建鏡像時自定義,那你應該考慮使用 ARG,因為 ARG 是構建時的參數,而 ENV 則是最終運行時容器的一個變量,你可以在 docker run 創建容器的時候指定環境變量的時,兩個參數屬于不同的階段,具體要看自己的需求了,根據需要靈活選擇

大名鼎鼎的 v2ray 在構建 docker 鏡像的時候也是選擇了使用 ARG 來動態地在構建鏡像時參數化,可以參考文末 v2ray 的鏈接

ARG 還有一些內置的參數,有需要可以參考文末 docker 的文檔

References

  • https://docs.docker.com/engine/reference/builder/#arg

  • https://github.com/WeihanLi/dotnet-httpie/blob/dev/Dockerfile

  • https://github.com/v2fly/docker/blob/master/Dockerfile

  • https://github.com/v2fly/docker/blob/master/.github/workflows/docker-push.yml

總結

以上是生活随笔為你收集整理的Dockerfile 使用 ARG 参数实现构建模板的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品午夜久久久 | 中文字幕第15页 | 日本一区二区三区视频在线 | 亚洲精品中文字幕 | 国产毛片久久久久 | 黑人与日本少妇高潮 | av动漫天堂 | 亚洲 高清 成人 动漫 | 国产精品国产三级国产aⅴ9色 | 小香蕉av | 熟妇毛片 | 超碰在线看| sm一区二区三区 | 足疗店女技师按摩毛片 | 日韩国产欧美一区二区三区 | 色婷婷婷婷色 | a级黄色影院 | 亚洲午夜精品一区二区三区他趣 | 久久羞羞| 色涩av | 长篇高h乱肉辣文 | 色综合天天干 | 欧美日韩视频网站 | 国产刺激对白 | 国产伦理一区 | 成人自拍网 | 免费高清成人 | 国产又粗又猛视频免费 | 国产偷人爽久久久久久老妇app | 五月天激情四射 | 黄av资源 | 欧美激情电影一区二区 | 91色伦| 国产精品二三区 | 波多野结衣中文字幕一区二区 | 成人黄色小视频在线观看 | 欧美日韩一二区 | 国产精品久久久久久一区 | 国产视频黄色 | 2025国产精品视频 | 免费在线观看高清影视网站 | 日批国产 | 色www.| 尤物网址在线观看 | 国产精品二三区 | 成人高潮片免费网站 | 亚洲在线观看免费 | 丰满人妻av一区二区三区 | 免费国产成人 | 午夜激情综合 | 亚洲丁香网| 潘金莲一级淫片aaaaa | 警察高h荡肉呻吟男男 | 欧美大尺度床戏做爰 | 变态另类ts人妖一区二区 | 一级特黄特色的免费大片视频 | 日本老太婆做爰视频 | 久久久久久久偷拍 | 中文字幕亚洲高清 | 中国女人黄色大片 | 免费在线观看a级片 | 在线观看二区 | 欧美高清日韩 | 免费荫蒂添的好舒服视频 | aaa黄色| 日本黄色小网站 | ,亚洲人成毛片在线播放 | 魔性诱惑| 亚洲欧洲视频在线观看 | 国产精品色图 | 第一页在线视频 | 欧美另类精品xxxx孕妇 | 伊人久久97| 中文av一区二区三区 | 少妇婷婷| 国产一区二区三区视频在线播放 | 亚洲精品一区二区三区精华液 | 天堂影院一区二区 | 狠狠艹 | 色中文字幕在线观看 | 毛片av免费 | 后进极品白嫩翘臀在线视频 | 伊人网大香 | 日本黄色一区二区 | 亚洲国产视频网站 | 福利视频精品 | 日韩一区二区在线视频 | 在线免费av网址 | 你懂的网址在线观看 | 日本一级免费视频 | 黄色大全免费观看 | 丰满少妇在线观看bd | 野花视频在线免费观看 | 午夜av一区二区三区 | 夫妻性生活黄色片 | 黄色a毛片 | 婷婷干 | 成人小视频在线免费观看 | 中文字幕一区二区三区四区五区 |