Chapter 5. Running .NET 5.0 applications in containers
Use the ubi8/dotnet-50-runtime
image to run a precompiled application inside a Linux container.
Prerequisites
Preconfigured containers.
The following example uses podman.
Procedure
Optional: If you are in another project’s directory and do not wish to create a nested project, return to the parent directory of the project:
# cd ..
Create a new MVC project in a directory called
mvc_runtime_example
:$ dotnet new mvc --output mvc_runtime_example
Publish the project:
$ dotnet publish mvc_runtime_example -f net5.0 -c Release
Create the
Dockerfile
:$ cat > Dockerfile <<EOF FROM registry.redhat.io/ubi8/dotnet-50-runtime ADD bin/Release/net5.0/publish/ . CMD ["dotnet", "mvc_runtime_example.dll"] EOF
Build your image:
$ podman build -t dotnet-50-runtime-example .
Run your image:
$ podman run -d -p8080:8080 dotnet-50-runtime-example
Verification steps
View the application running in the container:
$ xdg-open http://127.0.0.1:8080