We recommend using .net/ASP.Net 3.1 and .net/ASP.Net 5.0.
- Alpine
- Ubuntu
We recommend using official images from mcr.microsoft.com/dotnet.
- Run with dotnet diagnostics disabled. This can be controlled via the
COMPlus_EnableDiagnostics
environment variable set to 0. - If running with low memory settings, you can control dotnet's managed heap size by
COMPlus_GCHeapHardLimit
environment variable. DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
- Some applications/tests using Unicode might have to set this to 0. In many cases it could be 1. If set to 0, the docker file has to ensure lib icu is included in the image.
ThreadStackSize
of 256k. The default pthread stack size in Mystikos is 128k. We found System.Linq.Expressions can cause application to hang with the default 128k thread stack. More details here.- For multiprocess applications, using either
dotnet exec
or .Net Process API, turn off support forSYS_brk
with settingNoBrk
.
Further explanation of these configs can be found here.
For sample docker file and configuration, see getting started dotnet document.
myst-lldb, a lldb extension is distributed with Mystikos. This can be used to debug high level C# code. More details here.
Note: Only single process applications are supported, multi-process applications like dotnet test
are unsupported.
- GC suspension signals are not delivered in a real-time fashion. Actively being addressed.
TODO