Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Launch It With Docker

765 views

Published on

Getting started with Docker and ASP.NET Core. Slides goes through history of containers, docker concepts and architecture, use cases, best practices and workflows

Published in: Technology
  • Be the first to comment

Launch It With Docker

  1. 1. LAUNCH ITWITH DOCKER AMAL DEV
  2. 2. ABOUT ME Full stack web developer in Microsoft technology stack 10+ years of experience Microsoft MVP Technical Analyst@ UST Global Blogger@ www.techrepository.in Contact me @amaldevv
  3. 3. AGENDA History 01 VM vs Containers 02 Docker Concepts 03 Best Practices 04 Use Cases 05 Docker in the Cloud 06 Live Demo 07
  4. 4. EARLY DAYS
  5. 5. EARLY DAYS Cost ResourceWastage Difficult to migrate or scale Vendor Lock-in CONS
  6. 6. VIRTUALIZATION
  7. 7. VIRTUALIZATION Optimal Resource Utilization Easy to scale and maintain Downtime reduced significantly NoVendor Lock-in PROS
  8. 8. VIRTUALIZATION It still needs CPU allocation, Storage and RAM A guest OS As no ofVM’s increases, more resources is needed CONS
  9. 9. CONTAINERS Container based virtualization uses the kernel on the host's operating system to run multiple guest instances
  10. 10. CONTAINERS
  11. 11. COMPARISON CONTAINER VM
  12. 12. WHAT IS DOCKER ? Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere. Source : docker.io
  13. 13. WHAT DOCKER PROVIDES ? Encapsulate applications into Docker Containers Distribute and Ship those containers Deploy these in a data center or cloud
  14. 14. ARCHITECTURE
  15. 15. IMAGES & CONTAINERS IMAGES  Immutable file  Snapshot of the container  Stored in Docker Hub/Private Registry CONTAINERS  Based on images  Contains everything needed to run the application  Isolated application platform
  16. 16. DOCKER COMMANDS docker –version docker –info docker images docker ps docker build docker run docker login docker search docker pull docker push docker tag
  17. 17. DOCKER_HOST Images CacheContainers RegistryClient Docker pull Docker daemon Docker run Dot Net Dot Net Dot Net Dot Net WORKFLOW
  18. 18. Registry DOCKER_HOST ImagesContainers 0001Program.cs110 HelloWorld.dll 111010111011011010 Code/Binaries Client Docker build Docker daemon FROM microsoft/dotnet:runtime WORKDIR /app COPY /app /app ENTRYPOINT dotnet HelloWorld.dll dockerfile Private Registry Docker run Docker push Docker build
  19. 19. docker compose Private Registry Multi Service API Multi Service DOCKER_HOST ImagesContainers Registry Client Docker-compose Docker daemon version: '2' services: multiservice: image: - multiservice:latest environment: - CustomerAPIService=http://webapi/api/Customer ports: - "80:80" depends_on: - webapi webapi: image: - multiserviceapi:latest Docker-compose.yml Dot Net Multi Service Multi Service API front end api Multi Service Multi Service API
  20. 20. BEST PRACTICES  Don’t store data inside containers  Don’t deploy applications into running containers  Avoid creating larger images  Try to avoid creating single layer images  Avoid creating images from running containers  Avoid hard coding of IPAddresses  Don’t store credentials in the image  Avoid running more than one process inside the container  Exclude files using .dockerignore file  Avoid installing unnecessary packages
  21. 21. USECASES  Microservices  CI/CD  Multi-tenantApplications  App Isolation
  22. 22. DOCKER IN THECLOUD  Docker Cloud  dotCloud  Azure Container Service  AWS
  23. 23. QUESTIONS
  24. 24. THANKYOU

×