Docker環境変数を.NETで取得する
dockerの-e引数で設定する環境変数
docker run -e 変数名 ...
docker-composeだとenvironmentで設定する環境変数
services:
testapp:
image: ${DOCKER_REGISTRY-}testapp
build:
context: .
dockerfile: testapp/Dockerfile
environment:
USERNAME: user1これを.NET 8で取得したい。
Environment.GetEnvironmentVariable
.NET 8ではEnvironmentクラスにGetEnvironmentVariable関数が追加されています。 環境変数が未設定の場合はnullが返ってきます。 ググると.NET Core (.NET 5以前)の時代からあったようです。
var username = Environment.GetEnvironmentVariable("USERNAME");
if (username == null)
Console.WriteLine("username is null");
else
Console.WriteLine($"username is '{username}'");