DEV Community

Cover image for .NET 8 + Docker
Bervianto Leo Pratama
Bervianto Leo Pratama

Posted on

6

.NET 8 + Docker

Have you read my previous post about .NET 7 and the new feature of dotnet publish? I recommend reading that post because I won't cover some steps.

Preparation

  1. .NET 8 SDK - When posting this, the version is a preview version.
  2. Docker

Starter Project

You can try cloning from the net7.0 branch from this repository.

The changes

  1. Update DockerNetExample/DockerNetExample.csproj. We update the TargetFramework to net7.0 and add ContainerBaseImage. Normally, we don't add ContainerBaseImage, but because currently still a preview version, I recommend adding it. We also can add ContainerImageTags to distinguish from the previous version.

    <Project Sdk="Microsoft.NET.Sdk.Web">
    
      <PropertyGroup>
        <TargetFramework>net8.0</TargetFramework>
        <Nullable>enable</Nullable>
        <ImplicitUsings>enable</ImplicitUsings>
        <ContainerImageName>docker-net-example</ContainerImageName>
        <ContainerBaseImage>mcr.microsoft.com/dotnet/aspnet:8.0-preview</ContainerBaseImage>
        <ContainerImageTags>2.0.0;latest</ContainerImageTags>
      </PropertyGroup>
    
    </Project>
    
  2. Now, let's run the dotnet publish command. Command: dotnet publish --os linux --arch x64 /t:PublishContainer -c Release.

  3. Checking the docker image. docker image ls

    docker image ls

  4. I will introduce you to a Docker Compose. If you are using Docker Desktop, you already have Docker Compose bundled. More information about Docker Compose. You can create a file docker-compose.yml.

    version: "3.9"
    services:
      dotnet:
        image: "docker-net-example:2.0.0"
        ports:
          - 8000:80
        environment:
          - ASPNETCORE_URLS=http://+
    
  5. You can check the detailed PR here.

  6. You can test using curl or other tools.

    test

Thanks

If you have any feedback, feel free to share it with me in this post or raise an issue in the repository.

GIF YES

Repository




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 full post →

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more