visualstudio에서 linux docker image 생성시 한글지원

web application 작업시 visual studio에서 리눅스용 dockerfile를 추가 생성하면 en-US가 기본이 됩니다.
해서, dockerfile에 다음을 추가하여 이미지를 빌드하면 ko-KR이 지원되게 됩니다.

RUN apt-get update && apt-get install -y locales git
#Locale
RUN localedef -f UTF-8 -i ko_KR ko_KR.UTF-8
ENV LC_ALL ko_KR.UTF-8

시간대를 맞춘다면

ENV TZ=Asia/Seoul

를 추가로 덧붙여 이미지를 빌드하시면 되겠습니다.

ps. 추가

https://docs.microsoft.com/en-us/aspnet/core/blazor/globalization-localization?view=aspnetcore-3.1&pivots=server

startup.cs configure에 다음을 추가하여 linux에서 docker image를 운용시 dateformat 및 numberformat등을 default 처리할 수 있습니다.

            var supportedCultures = new List<CultureInfo> { };
            var kr = new CultureInfo("ko-KR");
            kr.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
            kr.DateTimeFormat.DateSeparator = "-";
            supportedCultures.Add(kr);

            app.UseRequestLocalization(new RequestLocalizationOptions
            {
                // Formatting numbers, dates, etc.
                SupportedCultures = supportedCultures,
                // UI strings that we have localized.
                SupportedUICultures = supportedCultures,
            });

            app.Use(async (context, next) =>
            {
                context.Response.Cookies.Append(
                    CookieRequestCultureProvider.DefaultCookieName,
                    CookieRequestCultureProvider.MakeCookieValue(new RequestCulture("ko-KR"))
                );
                await next();
            });

프로젝트파일 (.csproj )

      <PropertyGroup>
    	<InvariantGlobalization>false</InvariantGlobalization>	  
      </PropertyGroup>
4개의 좋아요

영국이 아닌 모든 국가에서 시간등이 필요한 경우에 비슷한 작업을 해야 하는 것이군요. 네트워크가 연결된 상태라면 자동으로 설정되었으면 좋겠습니다.

3개의 좋아요

추가로 잘 설명된 리눅스 한글 로케일관련 블로그를 링크하여드립니다.

1개의 좋아요