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

提供:MonoBook
2024年9月20日 (金) 06:04時点におけるAdministrator (トーク | 投稿記録)による版 (ページの作成:「 dockerの-e引数で設定する環境変数 <source lang=sh> docker run -e 変数名 ... </source> docker-composeだとenvironmentで設定する環境変数 <source lang=yml> services: testapp: image: ${DOCKER_REGISTRY-}testapp build: context: . dockerfile: testapp/Dockerfile environment: USERNAME: user1 </source> これを.NET 8で取得したい。 == Environment.GetEnvironmentVariable == .NET 8ではEnvironmentクラスにGet…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

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