Developer/C#, 닷넷

C# Docker Environment.GetEnvironmentVariable (환경변수) 사용

우주로그 2022. 8. 18.

C# .NET에서 DB같은 서버에 접속해야 하는 경우가 있습니다.
이때 접속해야 할 서버 정보를 하드 코딩하지 않고, 환경변수를 활용할 수 있습니다.

아래와 같이 말이죠.

var multiplexer = ConnectionMultiplexer.Connect(new ConfigurationOptions
{
       ConnectTimeout = 3000,
       EndPoints ={ Environment.GetEnvironmentVariable("REDIS_SERVER") }
});
services.AddSingleton(multiplexer);

Docker사용하는 경우, 위의 환경변수 "REDIS_SERVER"는 어디에 설정해야 할까요?

바로 dockerfile에 환경변수로 등록하면 됩니다.

FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
ENV REDIS_SERVER "172.17.0.2:6379"

이렇게 dockerfile에
ENV KEY값 VALUE값
으로 설정하면 환경변수를 가진 docker image를 생성할 수 있습니다.

댓글