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

this and that