.NET: Microsoft Technologies based on the .NET software framework. Runtime: An environment required to run apps that aren't compiled to machine language.
The symptoms indicate a runtime startup failure in the custom Linux container, not a deployment issue. Focus should be on container health, runtime configuration, and storage/runtime settings rather than redeploying or switching v3/v4.
Use the following steps to isolate and fix the issue:
- Check container logs via Kudu
For Linux custom containers,Runtime Version: ErrorandServiceUnavailableoften mean the container cannot start correctly.- Browse to
https://<FUNCTION_APP>.scm.azurewebsites.netfor the Function App. - Download the Docker logs
.zipfile. - Inspect the logs for:
- Exceptions during host startup.
-
manifest unknownor image pull errors (if the image tag is invalid). - Any indication that the Functions host process is failing to start.
manifest unknown, update the image reference using the Azure CLI as described in How to target Azure Functions runtime versions or fix/redeploy the custom image if using a private registry. - Browse to
- Verify the container image and ports
For Linux container-based Function Apps:- Confirm the image
mcr.microsoft.com/azure-functions/dotnet-isolated:4-dotnet-isolated7.0-appserviceis still valid and pulls successfully outside Azure (for example, in a local Docker environment). - Check the Docker logs for port binding errors. The Functions host in the container uses port
:80by default. If another process in the same image also binds to:80, the host will fail to start. In that case, adjust the image so only the Functions host uses port80, or move other services to different ports.
- Confirm the image
- Validate runtime and language configuration
A misconfigured runtime or language version can prevent the host from starting:- Ensure
FUNCTIONS_EXTENSION_VERSIONis set correctly for v4 (for example,~4) in Configuration → Application settings. - For Linux, confirm
LinuxFxVersionis set to the correct<Language>|<LanguageVersion>for .NET isolated 7.0 as per the guidance in Using LinuxFxVersion for Linux Function Apps. - If the app was toggled between v3 and v4, verify that the image and
LinuxFxVersionare consistent with the selected runtime and that no unsupported combination is configured.
- Ensure
- Check storage account and configuration dependencies
The Functions runtime will not start if it cannot access its storage account or required configuration:- Confirm the storage connection strings and any Key Vault references are valid and accessible, as described under common runtime issues after deployment.
- If the storage account was changed or permissions modified, restore access and restart the Function App.
- Run Function App diagnostics in the portal
In the Azure portal:- Open the Function App.
- Select Diagnose and solve problems.
- Run Function App Down or Reporting Errors (Preview).
- Startup issues and offline history.
- Runtime and language version validity.
- Configuration problems (mandatory app settings, Key Vault/Managed Identity, SyncTriggers, host name collisions).
- Container allocation and resource issues.
- Confirm this is a runtime (not deployment) issue
Since the app is in Running state but the host is unavailable andSync Web Apps Function Triggersfails withServiceUnavailable, treat this as a runtime issue:- Files in
wwwrootmay be correct, but the host cannot start due to configuration, container, or dependency issues. - After addressing container errors, runtime version mismatches, and storage/configuration problems, restart the Function App and re-run Sync Web Apps Function Triggers.
- Files in
If, after these steps, the container logs still show host startup failures with no obvious configuration or image issue, provide those specific log errors when opening a Microsoft support ticket so the runtime team can investigate why the host process is failing and why the runtime is reported as Error.
References: