Docker環境変数を.NETで取得する

提供:MonoBook
2024年9月20日 (金) 06:04時点におけるAdministrator (トーク | 投稿記録)による版

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}'");