DEV Community

Cover image for Web API in NET 6 + Docker
Bervianto Leo Pratama
Bervianto Leo Pratama

Posted on • Edited on

17 3 1

Web API in NET 6 + Docker

Hello!

How are you? I hope all of you are stay safe and having a great day!

If you want to follow this step-by-step. Please install some tools that will be required here.

  1. .NET 6: https://dotnet.microsoft.com/download/dotnet/6.0
  2. Docker: https://docs.docker.com/get-docker/

Project Preparation

  • Create the Web API from template.
dotnet new webapi -o DockerNetExample
Enter fullscreen mode Exit fullscreen mode
  • Create the solution to link the project and link the project.
dotnet new sln
Enter fullscreen mode Exit fullscreen mode
dotnet sln add DockerNetExample
Enter fullscreen mode Exit fullscreen mode
  • Your project is ready now. :)

Prepare for Dockerfile

  • Create your Dockerfile at the root, similar place with the .sln file.
FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine as build
WORKDIR /app
COPY . .
RUN dotnet restore
RUN dotnet publish -o /app/published-app

FROM mcr.microsoft.com/dotnet/aspnet:6.0-alpine as runtime
WORKDIR /app
COPY --from=build /app/published-app /app
ENTRYPOINT [ "dotnet", "/app/DockerNetExample.dll" ]
Enter fullscreen mode Exit fullscreen mode

Build the Image and Run the Container

  • Build your image use docker build . -t dotnetexample

  • Run a container with previous image. docker run --name dotnetexample -p 8081:80 -d dotnetexample

  • Check your container. docker ps. You would see like this.

Docker PS

  • Check your API use browser or another things.

Note: If you use Firefox, the return will be like this, the value maybe will be different, since it returns randomly.
Browser Firefox

  • Congrats. You are done. :)

Repository






Thank you

Thank you for visiting this tutorial. If you have any questions or suggestions, please comment in here.

Thank you

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more →

Top comments (4)

Collapse
 
evangelinabonzano profile image
Evangelina Bonzano • Edited

I have a suggestion so that the same does not happen to another:
This command: dotnet sln add DocketNetExample
Has an incorrect project name. It should be dotnet sln add DockerNetExample
It took me more than 5 minutes to realize haha

Thank you for the tutorial!

Collapse
 
berviantoleo profile image
Bervianto Leo Pratama • Edited

OMG. You're right. I also just realize that is typo.

Thank you. I've updated the post.

Collapse
 
cesar31mr profile image
CesarMtz

Thank's a lot for this tutorial, I'm learning about webapi and docker and this is perfect to understand a lot.
PD sorry for my English, I'm learning it to n.n'

Collapse
 
berviantoleo profile image
Bervianto Leo Pratama

Thank you. Let's learn together.

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free