.NET 5 SDK docker image

Hi,

I’m working on building and deploying a .NET 5.0 app to Balena and I’m unable to find an SDK image that works.

balenalib/aarch64-debian-dotnet:5.0-aspnet exists but I can’t run dotnet restore on it since it tells me to install an SDK. balenalib/aarch64-debian-dotnet:5.0-sdk does not exist.

balenalib/aarch64-debian-dotnet:5.0-build looks promising but it also tells me to install an SDK:

[Build]   [aspnet] Step 1/20 : FROM balenalib/aarch64-debian-dotnet:5.0-aspnet AS base
[Build]   [aspnet]  ---> 1c18b34d0059
[Build]   [aspnet] Step 2/20 : WORKDIR /app
[Build]   [aspnet]  ---> Using cache
[Build]   [aspnet]  ---> 51298bea0503
[Build]   [aspnet] Step 3/20 : EXPOSE 80
[Build]   [aspnet]  ---> Using cache
[Build]   [aspnet]  ---> ab6b7b924193
[Build]   [aspnet] Step 4/20 : FROM balenalib/aarch64-debian-dotnet:5.0-build AS build
[Build]   [aspnet]  ---> 4c405ee74723
[Build]   [aspnet] Step 5/20 : WORKDIR /src
[Build]   [aspnet]  ---> Running in 82c656f05ad9
[Build]   [aspnet] Removing intermediate container 82c656f05ad9
[Build]   [aspnet]  ---> cace818ae811
[Build]   [aspnet] Step 6/20 : COPY ["nuget.config", "."]
[Build]   [aspnet]  ---> c5ce8e54bf27
[Build]   [aspnet] Step 7/20 : COPY ["src/Project/Project.csproj", "src/Project/"]
[Build]   [aspnet]  ---> 23aa83d91bba
[Build]   [aspnet] Step 8/20 : COPY ["src/Lib/Lib.csproj", "src/Lib/"]
[Build]   [aspnet]  ---> 9473a4797b8f
[Build]   [aspnet] Step 9/20 : RUN dotnet restore "src/Project/Project.csproj"
[Build]   [aspnet]  ---> Running in caedf10cfb69
[Build]   [aspnet] Here are a few details about this Docker image (For more information please visit https://www.balena.io/docs/reference/base-images/base-images/):
[Build]   Architecture: ARM v8
[Build]   OS: Debian Buster
[Build]   Variant: build variant
[Build]   Default variable(s): UDEV=off
[Build]   The following software stack is preinstalled:
[Build]   dotnet 5.0-aspnet
[Build]   Extra features:
[Build]   - Easy way to install packages with `install_packages <package-name>` command
[Build]   - Run anywhere with cross-build feature  (for ARM only)
[Build]   - Keep the container idling with `balena-idle` command
[Build]   - Show base image details with `balena-info` command
[Build]   [aspnet] Could not execute because the application was not found or a compatible .NET SDK is not installed.
[Build]   Possible reasons for this include:
[Build]     * You intended to execute a .NET program:
[Build]         The application 'restore' does not exist.
[Build]     * You intended to execute a .NET SDK command:
[Build]         It was not possible to find any installed .NET SDKs.
[Build]         Install a .NET SDK from:
[Build]           https://aka.ms/dotnet-download
[Build]
[Build]   [aspnet] Removing intermediate container caedf10cfb69
Some services failed to build:
        aspnet: The command '/bin/sh -c dotnet restore "src/Project/Project.csproj"' returned a non-zero code: 145

Is there an image for building .NET 5 apps on Balena that I haven’t found? If not, is this image in the works?

Thanks for any and all info!

Hi @zshall, welcome to our forums and thanks for reporting this! Looking at our base image repository, the 5.0-sdk images should be generated but are not accessible through balenalib/aarch64-debian-dotnet:5.0-sdk.

I’ve reported this back to our team to see if maybe this is a failure of the automated publishing process.

In the meantime you can use the generic aarch64 dotnet image to unblock your development.

Here is an example Dockerfile for building a dotnet based with balena

Hope this helps!

1 Like