dotnet-staticfiles
dotnet-staticfiles copied to clipboard
Include ICU support?
I tried your samples (they are great by the way, thank you so much for them!) and they lack ICU support, it would be great to have one example with ICU support enabled:
I used this for that
RUN apk add --no-cache icu-libs
Or maybe for distroless it could also make sense to use this instead of icu-libs
:
<ItemGroup>
<RuntimeHostConfigurationOption Include="System.Globalization.AppLocalIcu" Value="68.2.0.6" />
<PackageReference Include="Microsoft.ICU.ICU4C.Runtime" Version="68.2.0.6" />
</ItemGroup>
What do you think?
@616b2f I'm glad you like these samples. This would be low down my priority list at the moment but feel free to submit a PR if you need something urgently.
Adding the ItemGroup
with Microsoft.ICU.ICU4C.Runtime
didn't work for me. I kept getting an error "Failed to load app-local ICU: libicuuc.so".
What did work for me though was adding RUN apk add --no-cache icu-libs
to the dotnet runtime deps stage, ie:
# Use dotnet runtime deps to gather all dependencies
FROM mcr.microsoft.com/dotnet/runtime-deps:6.0-alpine3.13-amd64 as base
# Add Unicode and Globalization support via International Components for Unicode (ICU package)
RUN apk add --no-cache icu-libs
# Cleanup /lib
RUN find /lib -type d -empty -delete && \
rm -r /lib/apk && \
rm -r /lib/sysctl.d
And then update environment DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
to false
.
So as of June 15 2022 it looks like icu
is removed from runtime-deps
, making the above comment obsolete now. I couldn't figure out how to get icu-libs working again as yet. but apparently there is more distroless stuff coming from Microsoft in the coming months going by this twitter thread https://twitter.com/Jamie_Magee/status/1529662529386926080?s=20&t=XmscBSmhcgEzu35vxqdVIA
Looking forward to Mariner-based images being publicly supported.