运行点网核心控制台映像时如何在启动时将参数传递给Docker容器

时间:2020-03-29 16:39:55

标签: c# docker .net-core dockerfile console-application

我已经创建了netcore 2.2控制台应用程序的容器。 main函数必须接收2个参数才能启动。 如果未传递2个参数,则将引发异常。

我正在Windows上运行docker。

这是我的docker文件:

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
COPY bin/Release/netcoreapp2.2/publish/ app/
ENTRYPOINT ["dotnet", "app/BinanceLoggerCandleStick.dll"]

这是我在控制台应用程序中的主要功能,没什么特别的,但是它需要两个参数 即在这种情况下为“ BTCUSDT”和“ 1min”

static void Main(string[] args)
{
//some code
}

我尝试使用以下命令运行图像/容器,但是什么也没有:

docker start thirsty_bose "BTCUSDT" "1min"

我不想对dockerfile中的参数进行硬编码,我想使用docker start命令传递它们。 我该如何工作?

1 个答案:

答案 0 :(得分:1)

有多种传递参数的方法。如果您需要在映像的构建时通过它,请使用--build-arg VAR=VALUE

参考:-https://docs.docker.com/engine/reference/builder/#arg

或者,如果要在运行时传递,请使用ENV并在运行docker run命令时传递它。

参考:-https://docs.docker.com/engine/reference/builder/#env