Customize .NET runtime environment
Build Custom Runtime Images
Zerops allows you to build custom runtime images (CRI) when the default base runtime images don't meet your .NET application's requirements. This is an optional phase in the build and deploy pipeline.
Configuration
Default .NET Runtime Environment
The default .NET runtime environment contains:
- Alpine 3.20
- Selected version of .NET when the runtime service was created
- zCLI
- ASP .NET and Git
When You Need a Custom Runtime Image
If your .NET application needs more than what's included in the default environment, you'll need to build a custom runtime image. Common scenarios include:
- System packages for processing: When your app processes images, videos, or files (requiring packages like
sudo apk add imagemagick
) - Native libraries: When your .NET packages require system libraries that aren't in the default environment
- Development tools: When you need additional debugging or profiling tools
- Different base OS: When you need Ubuntu instead of Alpine for specific compatibility requirements
You should not include your application code in the custom runtime image, as your built/packaged code is deployed automatically into fresh containers.
Here are .NET-specific examples of configuring custom runtime images in your zerops.yml
:
Basic .NET Setup
Using Build Files in Runtime Preparation
For complete configuration details, see the runtime prepare phase configuration guide.
Process and Caching
How Runtime Prepare Works
The runtime prepare process follows the same steps for all runtimes. See how runtime prepare works for the complete process details.
Caching Behavior
Zerops caches custom runtime images to optimize deployment times. Learn about custom runtime image caching including when images are cached and reused.
Build Management
For information about managing builds and deployments, see managing builds and deployments.
Shared storage mounts are not available during the runtime prepare phase.
Troubleshooting
If your prepareCommands
fail, check the prepare runtime log for specific error messages.