Learn to build modern infrastructure using docker and Kubernetes containers. Develop and deploy your ASP.NET Core application using Docker. Leverage to learn container technology to build your ASP.NET Core application.
4. For Docker Online Training : +91-999 123 502
• A container is a software that contains an
application code and all its dependencies.
• Enables an application to run quickly in an
isolated environment.
• Provide smooth migration from one
computing environment to another.
• Share the same OS kernel
• Works with all major Linux & Windows Server
What is Container?
Source : www.docker.com
5. For Docker Online Training : +91-999 123 502
Container Platforms
Linux Containers (LXC) Docker (Docker Swarm) Kubernetes RedHat OpenShift DC/OS
6. For Docker Online Training : +91-999 123 502
• Quickly create ready-to-run packaged
applications, low cost deployment
• Automate testing, integration and
packaging
• Reduce/eliminate platform
compatibility issues
• Supports microservices development
Why Containers?
• Improve speed and frequency of
releases, reliability of deployments
• Makes app lifecycle efficient,
consistent and repeatable-configure
once, run many times
• Eliminate environment inconsistencies
between dev, test, and production
• Provide Scalability on demand
For Developers For Administrator
7. For Docker Online Training : +91-999 123 502
Virtual Machines vs. Containers
VMs
Source : www.docker.com
Containers
Source : www.docker.com
8. For Docker Online Training : +91-999 123 502
• Hardware-level virtualization
• Fully isolated
• Isolated OS
• Having its own kernel
• Slower in start-up
• Many startup process
• Upfront resource allocation
Virtual Machine vs. Containers
• OS-level virtualization
• Process-level isolation
• Isolated processes/filesystems
• Host machine kernel is used
• Faster in start-up
• Single Start-up process
• No upfront resource allocation
9. For Docker Online Training : +91-999 123 502
Containers and VMs together
Source : www.docker.com
10. For Docker Online Training : +91-999 123 502
• A light weight, open and secure platform for developing, shipping
and running applications using container technology.
• Provides Container solutions for developers, architects, DevOps,
and IT People.
• Run on most Linux distributions, Windows and Mac OS.
• Supported by most of cloud providers like AWS, Azure, Google etc.
• Provide Dev/Test, CI and DevOps platform for many use cases.
Introduction to Docker
11. For Docker Online Training : +91-999 123 502
• Infrastructure Cost Savings
• Standardization and Productivity
• Isolation
• Security
• Makes app lifecycle efficient and consistent
• Continuous Deployment and Testing
• On Demand Scaling
• Multi-Cloud Platforms Support
Docker Benefits
12. For Docker Online Training : +91-999 123 502
Docker Desktop
• An application for Mac and Windows to build
production-ready container applications
• Enables to build and test Linux & Windows
based applications at local machine
• Available in two editions:
• Desktop Community
• Desktop Enterprise
13. For Docker Online Training : +91-999 123 502
Docker For Developers
Applications
(.NET Core, Java, JS etc.)
Windows Server
Linux
14. For Docker Online Training : +91-999 123 502
Docker For .NET Applications
.NET Core
Windows Nano Server
Linux
.NET 3.5 & .NET 4.x Windows Server Core
Legacy Applications
16. For Docker Online Training : +91-999 123 502
Docker File
Dockerfile
docker build
• A simple text file that contains commands to build a docker image.
• This file doesn’t have any extension.
17. For Docker Online Training : +91-999 123 502
• A lightweight, standalone and executable
package of software.
• Includes everything which is needed to run
an application like code, runtime, system
tools, system libraries and settings.
• An image is stack of multiple read only
layers referencing another images.
• Created by docker build command.
• Stored in Docker registry (eg. Docker Hub).
Docker Image
Image = Layered File System
Base Image (Ubuntu)
.NET Core SDK
…
18. For Docker Online Training : +91-999 123 502
• Container is an running instance of a docker image
• An isolated and secured shipping container
• Run by docker run command
Docker Container
Operating System
Software
Application Code
docker run
19. For Docker Online Training : +91-999 123 502
• A Service to host Docker images
• Multiple options are available:
• Docker Hub - (Free for public images and Paid for private images)
• Docker Trusted Registry - (on-prem or on-cloud)
Docker Registry
Docker Registry
docker push
docker pull
20. For Docker Online Training : +91-999 123 502
Docker Container Life Cycle
Run
Dockerfile
Build
Docker Registry
Pull
Push
Stop
Start
Restart
Docker Local Instance
Commit
21. For Docker Online Training : +91-999 123 502
• A runtime to build and run container based applications which
can run anywhere consistently on any infrastructure.
• Runs on various Linux (CentOS, Debian, Fedora, Oracle Linux,
RHEL, SUSE, and Ubuntu) and Windows Server OS.
• Provides built in orchestration, container networking, out of the
box security, volume and plugins.
Docker Engine
22. For Docker Online Training : +91-999 123 502
Server Daemon
Docker Engine Architecture
Volumes
Images
Networks
Plugins
R
E
S
T
A
P
I
Docker CLI
Docker Engine
Containers