基于参数运行docker构建

基于参数运行docker构建,docker,dockerfile,Docker,Dockerfile,Dockerfile: ARG arg FROM main-registry.gitlab.com/base/folder/:{$arg} specific conda environment file to use ARG conda_environment=environment.yml COPY . . RUN conda update --quiet conda 我需要用build命令中提供的值替换此$arg: docker build --build-arg arg="

Dockerfile:

ARG arg
FROM main-registry.gitlab.com/base/folder/:{$arg}

specific conda environment file to use
ARG conda_environment=environment.yml

COPY . .

RUN conda update --quiet conda
我需要用build命令中提供的值替换此$arg:

docker build --build-arg arg="image_id" -t hello .
我正确获取了arg,但无法替换url中参数的值

理想情况:

新url=url/image\u id

现实:

新url=url/$arg

我以前做过这个

在Dockerfile中,您可以在中的初始
之前使用
ARG
命令,例如,以下内容取自我的Dockerfile模板之一(用于ASP.NET Core多级docker构建):


我怀疑你只是语法有点错误<代码>{$arg}
应该是
${arg}
根据我上面的例子。

你能发布一个实际的未编辑的代码片段或你所有的Dockerfile吗?您最初发布的
{}
的语法似乎有误。似乎应该是
从url/${arg}
从main registry.gitlab.com/base/folder/:{$arg}特定的conda环境文件来使用arg conda_environment=environment.yml COPY。运行conda update--安静condacan您是否可以编辑您的帖子,而不是在评论中发布?谢谢谢谢,成功了。我错过了:并且给了/。
ARG BUILD_IMAGE_TAG
ARG RUNTIME_IMAGE_TAG

FROM mcr.microsoft.com/dotnet/core/sdk:${BUILD_IMAGE_TAG} AS build

...

FROM mcr.microsoft.com/dotnet/core/aspnet:${RUNTIME_IMAGE_TAG} AS runtime

...