Chapter 5. Running .NET Core 3.1 applications in containers
Use the dotnet/dotnet-31-runtime-rhel7 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_examplePublish the project:
$ dotnet publish mvc_runtime_example -f netcoreapp3.1 -c ReleaseCreate the
Dockerfile:$ cat > Dockerfile <<EOF FROM registry.redhat.io/dotnet/dotnet-31-runtime-rhel7 ADD bin/Release/netcoreapp3.1/publish/ . CMD ["dotnet", "mvc_runtime_example.dll"] EOF
Build your image:
$ podman build -t dotnet-31-runtime-example .
NoteIf you get an error containing the message
unable to retrieve auth token: invalid username/password, you need to provide credentials for theregistry.redhat.ioserver. Use the commandpodman login registry.redhat.ioto log in. Your credentials are typically the same as those used for the Red Hat Customer Portal.Run your image:
$ podman run -d -p8080:8080 dotnet-31-runtime-example
Verification steps
View the application running in the container:
$ xdg-open http://127.0.0.1:8080