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.

Docker-Hanoi @DKT , Presentation about Docker Ecosystem

500 views

Published on

These slides are presented at DKT- Viet Nam (bizweb)

Published in: Technology
  • Be the first to comment

Docker-Hanoi @DKT , Presentation about Docker Ecosystem

  1. 1. Docker Platform and Ecosystem VĂN ĐÌNH PHÚC - Docker HaNoi Mentor
  2. 2. About Me  Van Dinh Phuc (Philip Van) Personal email: Phucvd.ce@gmail.com Github : @phucvdb Technology Domain: ◼ Virtualization & Cloud Technologies focus on infrastructure (VDI, EUC, IaaS, PaaS) ◼ Linux Container ◼ Innovation Technologies  My current job: Cloud Solution Architect – FPT Software
  3. 3. Agenda ◼Docker Introduction ◼Ecosystem ◼Docker – Use Case ◼Q&A
  4. 4. Docker Introduction
  5. 5. Where did you hear about Docker ? https://medium.com/aws-activate-startup-blog/using-containers-to-build-a-microservices-architecture-6e1b8bacb7d1#.8i6rqwmf3
  6. 6. Where did you hear about Docker ? (Cont.)
  7. 7. – R. Callon, RFC 1925 - The Twelve Networking Truths “One size never fits all.”
  8. 8. Docker Story Source: dotcloud.com
  9. 9. The Challenge Source: dotcloud.com
  10. 10. The Matrix From Hell Source: dotcloud.com
  11. 11. Cargo Transport Pre-1960 Source: dotcloud.com
  12. 12. Also a matrix from hell Source: dotcloud.com
  13. 13. Solution: Intermodal Shipping Container Source: dotcloud.com
  14. 14. Docker is a shipping container system for code Source: dotcloud.com
  15. 15. Docker eliminates the matrix from Hell Source: dotcloud.com
  16. 16. WHAT IS DOCKER ? Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server
  17. 17. Why Developers Care ◼ Build once…(finally) run anywhere* ◼ A clean, safe, hygienic and portable runtime environment for your app. ◼ No worries about missing dependencies, packages and other pain points during subsequent deployments. ◼ Run each app in its own isolated container, so you can run various versions of libraries and other dependencies for each app without worrying ◼ Automate testing, integration, packaging…anything you can script ◼ Reduce/eliminate concerns about compatibility on different platforms, either your own or your customers. ◼ Cheap, zero-penalty containers to deploy services? A VM without the overhead of a VM? Instant replay and reset of image snapshots? That’s the power of Docker Source: dotcloud.com
  18. 18. Why Devops Cares? ◼Configure once…run anything ◼ Make the entire lifecycle more efficient, consistent, and repeatable ◼ Increase the quality of code produced by developers. ◼ Eliminate inconsistencies between development, test, production, and customer environments ◼ Support segregation of duties ◼ Significantly improves the speed and reliability of continuous deployment and continuous integration systems ◼ Because the containers are so lightweight, address significant performance, costs, deployment, and portability issues normally associated with VMs Source: dotcloud.com
  19. 19. Why it works—separation of concerns ◼ Dan the Developer ◼ Worries about what’s “inside” the container ◼ His code ◼ His Libraries ◼ His Package Manager ◼ His Apps ◼ His Data ◼ All Linux servers look the same • Oscar the Ops Guy • Worries about what’s “outside” the container • Logging • Remote access • Monitoring • Network config • All containers start, stop, copy, attach, migrate, etc. the same way
  20. 20. More technical explanation ◼ High Level—It’s a lightweight VM ◼ Own process space ◼ Own network interface ◼ Can run stuff as root ◼ Can have its own /sbin/init (different from host) ◼ <<machine container>> • Low Level—It’s chroot on steroids • Can also not have its own /sbin/init • Container=isolated processes • Share kernel with host • No device emulation (neither HVM nor PV) from host) • <<application container>> • Run everywhere • Regardless of kernel version (2.6.32+) • Regardless of host distro • Physical or virtual, cloud or not • Container and host architecture must match* • Run anything • If it can run on the host, it can run in the container • i.e. if it can run on a Linux kernel, it can run WHY WHAT
  21. 21. Containers vs. VMs App A Hypervisor (Type 2) Host OS Server Guest OS Bins/ Libs App A’ Guest OS Bins/ Libs App B Guest OS Bins/ Libs AppA’ Docker Host OS Server Bins/Libs AppA Bins/Libs AppB AppB’ AppB’ AppB’ VM Container Containers are isolated, but share OS and, where appropriate, bins/libraries Guest OS Guest OS …result is significantly faster deployment, much less overhead, easier migration, faster restart
  22. 22. What is a container? In 4 bullet points: ◼Containers share the host kernel ◼Containers use the kernel ability to group processes for resource control ◼Containers ensure isolation through namespaces ◼Containers feel like lightweight VMs (lower footprint, faster), but are not Virtual Machines! Source: http://docker-saigon.github.io/post/Docker-Internals/
  23. 23. Why are Docker containers lightweight? Bins/ Libs App A Original App (No OS to take up space, resources, or require restart) AppΔ Bins/ App A Bins/ Libs App A’ Guest OS Bins/ Libs Modified App Copy on write capabilities allow us to only save the diffs Between container A and container A’ VMs Every app, every copy of an app, and every slight modification of the app requires a new virtual server App A Guest OS Bins/ Libs Copy of App No OS. Can Share bins/libs App A Guest OS Guest OS VMs Containers
  24. 24. Docker Profolio
  25. 25. Docker Engine ◼Core of the Docker platform ◼Runs on Linux to create the operating environment for your distributed applications ◼in-host daemon communicates with the Docker client to execute commands to build, ship and run containers
  26. 26. Docker Engine
  27. 27. Docker Registry There are 3 choices for use of a Registry: ◼A Public Cloud-hosted registry. The Docker Hub is the default registry used by the docker client and source of Officially maintained Docker images ◼An On-premise registry, through the commercially offered Trusted Docker Registry ◼A Self-hosted registry based on the official Open Source Docker Registry.
  28. 28. What are the basics of the Docker system?
  29. 29. Changes and Updates
  30. 30. Docker Machine You can use Docker Machine to: ◼Install and run Docker on Mac or Windows ◼Provision and manage multiple remote Docker hosts ◼Provision Swarm clusters
  31. 31. Docker Swarm
  32. 32. Docker Compose Developers docker-compose up Cloud or Private Infrastructure Plugins: Network and Volumes Operations Deploy
  33. 33. What is the native orchestration tool of Docker?
  34. 34. Docker ToolBox What’s in the Toolbox ◼Docker Engine ◼Compose ◼Machine ◼Kitematic OS supported: Window & MacOS
  35. 35. Docker Cloud A hosted service for Docker container management and deployment.
  36. 36. Docker Universal Control Plane
  37. 37. Docker Universal Control Plane (cont.)
  38. 38. Docker Ecosystem
  39. 39. Docker – Ecosystem support https://www.mindmeister.com/656846411#slideshow
  40. 40. Docker Community @Viet Nam Official meetup site: http://meetup.com/Docker-Saigon/ http://www.meetup.com/Docker-Hanoi/ Twitter: https://twitter.com/docker_saigon Github: https://github.com/docker-saigon https://github.com/dockerhanoi Youtube: https://www.youtube.com/channel/UC1t_GbTJudAAK9 Wqkg6-uLw https://www.youtube.com/channel/UCa1ieffjEYlfRgZTN l4Cg1A Facebook: https://www.facebook.com/DockerSaigon Slideshare: http://www.slideshare.net/Docker-Hanoi Slack: https://dockersaigon.slack.com http://docker-hanoi.slack.com Our interests: https://docs.google.com/document/d/1lhwK0YIC_KZ4F6o1rr h4wXfJTqdyplm3TZSIZN0X_UE/edit https://trello.com/b/KE000r5s/research
  41. 41. Docker – Use Case
  42. 42. Building a Continuous Integration Pipeline with Docker https://sreeninet.wordpress.com/2016/01/23/ci-cd-with-docker-jenkins-and-tutum/
  43. 43. Build a micro service with Docker A Docker –Hanoi’s Scenario: ◼At the beginning, Service #1 only runs in Node 2. ◼After that Service #1 scales to Node 2 ◼Via Docker API, Registrator will know the appearance of Service #1 on Node 2. ◼Registrator will register Service #1 with Consul. ◼In the meanwhile, Consul-Template in listening Consul. So Consul- Template will know the new service is up in Node 2. Finally, Consul- Template will trigger a reload command to Nginx add the new service into load balancer. https://www.facebook.com/events/986704731366039/
  44. 44. Thanks you !

×