Sample .NET Core Docker file

Here is a working example of a simple Docker file for a .NET Core 3.1 project

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app

COPY project.csproj ./
RUN dotnet restore

COPY . ./
RUN dotnet publish -c Release -o out

FROM mcr.microsoft.com/dotnet/core/runtime:3.1

WORKDIR /app
COPY --from=build-env /app/out .

ENTRYPOINT ["dotnet", "project.dll"]

Docker cribsheet

Build

Build an image from the Dockerfile in the current directory and tag the image

docker build -t myimage -f Dockerfile .

List all images that are locally stored with the Docker Engine

docker ps -a

Delete an image from the local image store

docker image rm CONTAINER_NAME

You may want to remove all orphaned images, you can do this with dandling field

docker rmi $(docker images -f dangling=true -q)
Continue reading Docker cribsheet

Benefits of Containers

What Are Containers?

Containers are a form of operating system virtualization. A single container might be used to run anything from a small microservice or software process to a larger application. Inside a container are all the necessary executables, binary code, libraries, and configuration files. Compared to server or machine virtualization approaches, however, containers do not contain operating system images. This makes them more lightweight and portable, with significantly less overhead. In larger application deployments, multiple containers may be deployed as one or more container clusters. Such clusters might be managed by a container orchestrator such as Kubernetes.

Continue reading Benefits of Containers

API Gateway in ASP.NET Core

Working with a good technical architecture you’ll soon need to work with an API Gateway. There are many industrial solutions for large scale system giving full control and logging, such as Apigee or Software AG, but these, of course, cost a business

In this article, I’ll look at possible homegrown API’s within ASP.NET Core, which give you a lot of features without the need to pay third parties.

Continue reading API Gateway in ASP.NET Core

NET Microservices Architecture for Containerised NET Applications

I came across this guide as it is an introduction to developing microservices-based applications and managing them using containers. It discusses architectural design and implementation approaches using .NET Core and Docker containers. To make it easier to get started with containers and microservices, the guide focuses on a reference containerized and microservice-based application that you can explore. The sample application is available at the eShopOnContainers GitHub repo.

Continue reading NET Microservices Architecture for Containerised NET Applications