Introduction to Docker for .NET Core / ASP.NET Core developers. The question "Why should you care about docker?" is answered with references to a modern DevOps process.
▪ A part of the application
which can be deployed
independently
▪ «Do one thing and do it
good»
▪ Encapsulation
▪ Automation
▪ Business Domain Centric
▪ Decentralization
▪ Indepence
▪ Fail-Safe
▪ Observable
▪ Scalable
▪ Versioned artifact
▪ Isolated deployable unit
▪ Container image is bit by bit identical when
deployed
▪ Abstraction of data center resources
▪
▪ Orchestration is “Cattle Business”
▪
▪
Server
Host OS
Hypervisor
Server
Host OS
Docker Engine
Guest
OS
Guest
OS
Guest
OS
Bins/Libs Bins/Libs
App A App A’ App B
Bins/Libs Bins/Libs
AppA
AppA’
AppB
AppB’
AppB
AppB’
AppB
AppB’
Containers are isolated, but
share OS and, where
appropriate, bins/librariesBins/Libs
Image Source: https://sec.ch9.ms/sessions/build/2016/B822.pptx
My ASP.NET Core Application
microsoft/aspnet
microsoft/dotnet
buildpack-deps:jessie-scm
buildpack-deps:jessie-curl
debian:jessie
Run a simple “Hello World” docker container
▪ Use docker CLI
▪ Pull an existing image
▪ Run the image locally
▪ Define port forwarding / environment variables
▪ Access the container
Visual Studio with integrated docker support
▪ Docker File
▪ Docker Compose
▪ Debugging
Run a simple “Hello World” docker container
▪ Use docker CLI
▪ Pull an existing image
▪ Run the image locally
▪ Define port forwarding / environment variables
▪ Access the container
Visual Studio with integrated docker support
▪ Docker File
▪ Docker Compose
▪ Debugging