Create a console app
I have created a new .NET 5 console app.
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net5.0</TargetFramework> <Nullable>enable</Nullable> </PropertyGroup> </Project>
using System; Console.WriteLine("Hello World!");
I have published the app in a folder.
In the publish folder I found the below files.
To test the published app, I have opened a terminal and navigate to the published folder and execute below command.
This should print ‘Hello World!’ in the terminal.
Create container image with Docker
I have WSL 2 installed in my Windows 10 machine and I have Ubuntu installed. I have installed Docker desktop for WSL. I have created a new folder ‘ConsoleApp1’ in the Ubuntu home folder and put the published artefacts inside that.
I have opened Widows Terminal and connect Ubuntu Bash with it. Navigate to the ‘ConsoleApp1’ folder. Type code . to open VS Code.
Add a new file with name ‘Dockerfile’ in the folder.
In VS Code write the below code in the Dockerfile.
FROM mcr.microsoft.com/dotnet/runtime:5.0 COPY . ./app WORKDIR /app ENTRYPOINT ["dotnet", "ConsoleApp1.dll"]
In the terminal run below command to create a Docker image.
docker build -t 45862391/consoleapp1:v1 .
Check the image successfully created or not.
To push the image to Docker Hub, run the below command in terminal.
docker push 45862391/consoleapp1:v1
Create a container with Azure Container Instances
Open Azure Portal and create a new Container Instance resource.
After the successful creation of the resource I can check the logs for the output of my console app.
Now my .NET 5 console app is deployed to Azure Container Instance from Docker Hub image.
- Create a .NET 5 console app.
- Publish it in a folder.
- Create a Dockerfile.
- Create Docker image and push to Docker Hub.
- Create a Azure container instance based on Docker Hub image.