不支持区域性1033(0x0409)

时间:2019-11-25 03:06:40

标签: .net docker .net-core alpine icu

我正在使用dotnet 2.2映像在以下环境中运行我的服务应用程序:docker windows(Linux容器)

FROM mcr.microsoft.com/dotnet/core/sdk:2.2-alpine AS build-env

并出现以下错误:

System.Globalization.CultureNotFoundException:不支持文化。参数名称:文化| 1033(0x0409)是无效的区域性标识符。

我在docker文件中设置了以下内容。构建没有问题,但是在应用程序运行时仍然显示错误

# Set the locale
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8 

1 个答案:

答案 0 :(得分:1)

这有效。

更新解决方案: 我已经在teamcity,基于Linux的环境中运行了相同的docker映像,并且根本不需要用于定义代码页的额外行。

因此,此问题仅发生在Windows 10上运行的docker windows(Linux容器)上。

# Disable the invariant mode (set in base image)
RUN apk add --no-cache icu-libs

ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \
    LC_ALL=en_US.UTF-8 \
    LANG=en_US.UTF-8