代码之家  ›  专栏  ›  技术社区  ›  Ertan Hasani

Linux中的.NET内核不读取环境变量

  •  0
  • Ertan Hasani  · 技术社区  · 6 年前

    我试图从Linux环境变量中获取connectionString,但问题是它返回空值。

    当我打字时 printenv connectionString 在terminal中,它返回变量,但在我编写的应用程序中 System.Environment.GetEnvironmentVariable("connectionString") 它返回空值。

    有人知道这是为什么吗?

    另外,我正在Docker中运行应用程序。

    1 回复  |  直到 6 年前
        1
  •  4
  •   mschuurmans    6 年前

    问题是主机中的环境变量在Docker容器中不可用。要将环境变量传递给容器,需要将以下参数用于run命令。

    docker run -e NAME=VALUE ...
    

    您还可以使用一个文件在容器内设置多个环境变量(当您不希望在bash历史记录中使用敏感数据时也很有用)。

    docker run --env-file=env_file_name ...
    

    看看 Environment variables in docker