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
COPY project.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "project.dll"]
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
Continue reading Docker cribsheet
docker rmi $(docker images -f dangling=true -q)
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
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
This article will show how to use an Event Bus using RabbitMQ using Work Queues that will be used to distribute time-consuming tasks among multiple workers.
Continue reading Event Bus Working Sample
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
How do you achieve anonymity between publisher and subscriber? An easy way is to let a middleman take care of all the communication. An event bus is one such middleman.
Continue reading event bus interface
I’m going to take a high-level overview of the Microsoft Azure Service Bus. I’ll discuss briefly the four services that make up the Service Bus.
Continue reading The Microsoft Azure Service Bus
I’ve been using an Event Bus for some time now in the designs of a system, for reason of performance and scalability. There is also an issue with the message size. But it would be best if you were using the Event Bus as a messaging system, not a data transport mechanism.
There is a solution to this, and it is the claim-check pattern.
Continue reading Claim-Check Pattern
A good API design is important in a system architecture because all data exchange between services happens either through messages or API calls. APIs must be efficient to avoid creating chatty I/O. Because services are designed by teams working independently, APIs must have well-defined semantics and versioning schemes, so that updates don’t break other services.
Continue reading Designing APIs