【发布时间】:2021-02-21 15:13:34
【问题描述】:
.Net Core 5.0.103
docker 版本:20.10.2,构建 2291f61 (Ubuntu)
我创建 docker 映像 + 尝试从命令行获取环境变量。 所以:
docker run -it --rm robust_tapir -e ADDRESS='127.0.0.1' -e Port='5000' -e Schema='http'
结果是:
[15:08:57 ERR] Hello World!
[15:08:57 ERR] Address:
[15:08:57 ERR] Port:
[15:08:57 ERR] Schema:
在我的 .net 核心控制台应用程序中:
Logger = CreateLogger();
Logger.Error("Hello World!");
await Task.Delay(5);
Address = Environment.GetEnvironmentVariable("ADDRESS");
Port = Environment.GetEnvironmentVariable("Port");
Schema = Environment.GetEnvironmentVariable("Schema");
#if DEBUG
Address = "127.0.0.1";
Port = "5000";
Schema = "http";
#endif
Logger.Error($"{nameof(Address)}:{Address}");
Logger.Error($"{nameof(Port)}:{Port}");
Logger.Error($"{nameof(Schema)}:{Schema}");
while (string.IsNullOrEmpty(Address))
{
await Task.Delay(1000);
}
那么,我做错了什么?错误地传入容器或从 .net 核心读取错误?
【问题讨论】:
-
尝试删除 127.0.0.1、5000 和 http 周围的单引号。
标签: c# docker .net-core environment-variables