From zero to hero
Running your ASP.NET 5 application
in a Docker container
Who am I?
• Maurice de Beijer
• The Problem Solver
• Microsoft Azure MVP
• Freelance developer/instructor
• Twitter: @mauricedb
• Web: http://www.TheProblemSolver.nl
• E-mail: maurice.de.beijer@gmail.com
Overview
• What are containers
• What is Docker
• Creating and running Docker images
• Running an ASP.NET Core 1.0 App
– In a Linux container
– In a Windows container
• But we need more
What is a container?
Once upon a ship
Loading cargo the old way
A container ship these days
Loading is a bit faster
Virtual Machines vs Containers
Namespaces & cgroups
What is Docker?
Docker Hub
Building containers
Orchestration
Container anti pattern
ASP.NET Core 1.0 App on Linux
ASP.NET in a Windows container
ASP.NET Core 1.0 App on Windows
Containers can be great…
Kubernetes Pods
Docker, From zero to hero
Docker, From zero to hero

Docker, From zero to hero

Editor's Notes

  • #4 https://www.flickr.com/photos/quinnanya/5046072204/
  • #5 A single lift takes 40 tons of cargo https://www.flickr.com/photos/glynlowe/14369663877
  • #6 Ships where not very efficient when loading/unloading
  • #7 A lot of people where needed to move cargo in small units
  • #8 Large container ships move unknown cargo very efficiently https://www.flickr.com/photos/rhemkes/15398653092
  • #9 Loading is much more efficient because of standard container sizes https://www.flickr.com/photos/anaulin/1047673820
  • #10 Initial release13 March 2013
  • #11 Containers are based on Linux namespaces and cgroups Namespaces create separation The root can see everything Containers can only see things in their own namespace Existed before Docker Docker just makes things easier https://www.flickr.com/photos/prettybipolar/6938332165/
  • #12 Not everything is namespaced yet Users are not => security https://www.flickr.com/photos/kewl/8576064449
  • #14 Contains many ready to use images Upload your own
  • #15 A Docker file to create an image with NodeJS https://www.flickr.com/photos/nyuhuhuu/4443886636/
  • #16 https://www.flickr.com/photos/frederikmagle/7026769687
  • #17 Containers should run one main executable. It stop and the container is done The main program receives a SIGTERM signal when the container needs to stop
  • #18 Creating a Docker container with a CoreCLR application
  • #19 Windows Server Containers Very much like the Linux Docker containers Available on site or in Azure Hyper-V Container More like a virtual machine then a traditional container Only available on site https://www.flickr.com/photos/schmollmolch/9816042533/
  • #20 Creating Docker images Using Docker commands Using PowerShell https://www.flickr.com/photos/jemimus/7048887071
  • #26 https://www.flickr.com/photos/pfly/199823544/
  • #32 https://www.flickr.com/photos/mugley/316308976
  • #33 https://www.flickr.com/photos/krupptastic/4738992473
  • #34 https://www.flickr.com/photos/ell-r-brown/7160371456