Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Streamlining DevOps with Docker | Galway Tech M...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →
Avatar for Colm Hally Colm Hally
December 10, 2014

Streamlining DevOps with Docker | Galway Tech Meetup | December 10th 2014

Avatar for Colm Hally

Colm Hally

December 10, 2014

Other Decks in Programming

Transcript

  1. 1. The Development Cycle 2. What is Docker 3. All

    about Containers 4. Sharing via Docker Registries 5. Benefits for Devs & Ops 6. Demo 7. Q & A Agenda 2
  2. Development Cycle 3 Developer laptop Systems Integration Staging Production Your

    application needs to run in many different environments Takes time to ensure everything is setup 'just-so' Testing / CI
  3. Introducing Docker 4 ! Containerise your app including all its

    dependencies ! Distribute your app in this standard container ! Run it on any machine Virtual Machine Vs Docker Container
  4. Docker Containers 5 ! Your container is: ! Your app

    ! ALL its dependencies ! Wrapped up in a package ! Defined in a Dockerfile ! docker build -t myreg/mycontainer . ! docker push myreg/mycontainer
  5. 6 Sharing via Docker Registries ! Docker Registries ! Like

    Git repos, but for Docker containers ! Docker Hub ! Like GitHub ! 1000s of base images, incl. most popular services ! Publish your own.. ! Build: docker build -t myreg/mycontainer . ! 'Ship': docker push myreg/mycontainer ! Run: docker run myreg/mycontainer
  6. ! portability; avoid ecosystem lock in Why is this useful?

    7 ! separation of concerns between teams ! developers: everything inside the box ! ops: everything outside the box ! streamlines the development - deployment cycle
  7. ! Freedom to choose language + toolchain ! Easily run

    multiple instances of your app ! Dev env looks like a cloud ! Sharing of Docker images ! No nasty installations - just Docker & Git ! Same development environment across whole team Docker for Devs 8
  8. ! “Black box” deployable ! Dependencies are a non-issue !

    Containers work across cloud providers Docker for Ops 9 Database Web App 1 Web App 2 Message Broker Load Balancer Analytics Job Server ! Easy colocation - apps are isolated on the server
  9. ! Happier developers :) ! Friendlier ops :) ! Development

    environment maps the production environment Docker - Nett Benefits 10 DB App App Server MQ LB App App Job Server Job MQ LB DB €€ ! Better utilisation of limited server resources
  10. ! Demo: ! Build a simple NodeJS web app !

    Encapsulate in a Docker container ! Deploy it on a server ! Spin up more instances ! Dockerfile: ! Uses community NodeJS image ! Adds our source code ! Installs dependencies ! Defines start command “I’ll believe it when I see it" 11