Docker 鏈接sqlserver時出現en-us is an invalid culture錯誤解決方案
在部署服務到docker的時候出現全球化錯誤
System . Global ization . Cul tureNotFoundException: Only the invariant culture is supported in globalizat ion- invariant mode. See https: //aka. ms/Globalizat i onInvari antMode for more information. (Parameter 」 name' ) en-us is an invalid culture identifier. en-us is an invalid culture
全球化不變模式可以在任何作業系統上啟用,但您可能會在docker linux容器和IOT構建中找到它,其中存儲和運行時記憶體大小受到限制。這個問題主要出現在Alpine linux容器上,其中通過刪除ICU庫並將運行時置於固定模式來使本機運行時大小儘可能小。這會導致生成映像變得小而快速,但會使您無法連接到 SQL Server。
可以選擇在鏡像中安裝icu
在Dockerfile中寫入以下命令
# Install cultures (same approach as Alpine SDK image) RUN apk add --no-cache icu-libs # Disable the invariant mode (set in base image) ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false
另一個解決方案就是不使用Alpine 的鏡像