Visual studio Docker-Dockerfile发布以使用选定的发布配置文件

Visual studio Docker-Dockerfile发布以使用选定的发布配置文件,visual-studio,docker,kubernetes,Visual Studio,Docker,Kubernetes,首先,让我先说我是docker的新手,并试图了解dockerfile的设置 我们目前正在尝试转换现有的WepApi服务,以支持集装箱化和编排。计划是用Docker和Kubernetes。目前,我们使用多个发布配置文件,然后根据选定的发布配置文件驱动WebConfig 通过dockerfile,我看到了如下内容: RUN dotnet restore "Aeros.Services.Kubernetes/Aeros.Services.Kubernetes.csproj" COPY . . WOR

首先,让我先说我是docker的新手,并试图了解dockerfile的设置

我们目前正在尝试转换现有的WepApi服务,以支持集装箱化和编排。计划是用Docker和Kubernetes。目前,我们使用多个发布配置文件,然后根据选定的发布配置文件驱动WebConfig

通过dockerfile,我看到了如下内容:

RUN dotnet restore 
"Aeros.Services.Kubernetes/Aeros.Services.Kubernetes.csproj"
COPY . .
WORKDIR "/src/Aeros.Services.Kubernetes"
RUN dotnet build "Aeros.Services.Kubernetes.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "Aeros.Services.Kubernetes.csproj" -c Release -o /app

其中,-c提供配置。有没有办法让它根据用户选择的发布配置文件运行此命令?

您可以在Dockerfile中使用
ARG
语句

ARG publishingProfile
RUN dotnet publish "Aeros.Services.Kubernetes.csproj" -c $publishingProfile -o /app
从命令行中这样使用它:

docker build--build arg publishingProfile=Release

其他选项是使用环境变量并在构建阶段传递它,但在这种情况下,我认为使用build arg是正确的方法。谢谢大家,我想这会让我走上正确的方向。