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

Docker at the Home Office

Docker at the Home Office

Billie Thompson

October 03, 2015
Tweet

More Decks by Billie Thompson

Other Decks in Technology

Transcript

  1. Docker at the Home
    Office
    Billie Thompson
    @PurpleBooth
    https://github.com/PurpleBooth/flappy-endpoint - Examples!

    View Slide

  2. Billie
    Thompson
    @PurpleBooth
    Developer & Reluctant
    DevOps

    View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. –Docker
    “Docker is an open platform for developing,
    shipping, and running applications. Docker
    is designed to deliver your applications
    faster.”

    View Slide

  9. –Docker
    “Docker […] makes use of another
    technology called cgroups or control
    groups. A key to running applications in
    isolation is to have them only use the
    resources you want.”

    View Slide

  10. What is docker?
    Linux Kernel

    View Slide

  11. What is docker?
    Linux Kernel

    View Slide

  12. What is docker?
    Linux Kernel

    View Slide

  13. What is docker?
    Linux Kernel

    View Slide

  14. What is docker?
    Linux Kernel

    View Slide

  15. What is docker?
    Linux Kernel

    View Slide

  16. What is docker?
    Linux Kernel

    View Slide

  17. How do you run a
    container?
    $ docker run \
    --name=“flappy” \
    -p “80:80" \
    quay.io/purplebooth/flappy-endpoint

    View Slide

  18. View Slide

  19. Finding containers
    • registry.hub.docker.com (Sort by Stars)
    • Websites of software you’re using
    • Quay.io

    View Slide

  20. How do you make a
    container

    View Slide

  21. What is docker?
    FROM

    View Slide

  22. What is docker?
    FROM
    COPY

    View Slide

  23. What is docker?
    FROM
    COPY
    COPY

    View Slide

  24. What is docker?
    FROM
    COPY
    COPY
    RUN

    View Slide

  25. What is docker?
    FROM
    COPY
    COPY
    RUN
    quay.io/purplebooth/flappy-endpoint:latest

    View Slide

  26. View Slide

  27. Continuous Integration
    • Your artefact is now a container
    • Online build servers
    • https://hub.docker.com/
    • https://quay.io/repository/

    View Slide

  28. 12 Factor
    • http://12factor.net/
    • Key changes to your app:
    • Log to STDOUT
    • Configure using Environment variables

    View Slide

  29. Docker is awesome but how
    to manage

    View Slide

  30. Docker is awesome but how
    to manage
    ?

    View Slide

  31. View Slide

  32. View Slide

  33. View Slide

  34. View Slide

  35. Work like us
    • What and how we reuse things
    • Think like a platform
    • Work Securely

    View Slide

  36. Things We Reuse
    • Reuse Code
    • Reuse Containers
    • Reuse Environments

    View Slide

  37. The worlds most successful
    code reuse project
    • Work openly
    • Open source
    • Be Good People

    View Slide

  38. Being a good person
    (inside and out)
    • Version stuff (SemVer)
    • Write Beautiful Documentation
    • License
    • Code of Conduct

    View Slide

  39. Thinking like a Platform
    • Jira
    • Git
    • File Hosting

    View Slide

  40. Thinking like a PaaS
    • AWS + Kubernetes
    • CoreOS on AWS (with Kubernetes)
    • Google Container Engine (Kubernetes)
    • Vagrant + Kubernetes
    • KUBERNETES!

    View Slide

  41. Work Securely
    • Use WAF Containers
    • Control your upstream containers!
    • Physical separation (sometimes)

    View Slide

  42. Any Questions!
    @purplebooth
    • https://billie.codes/1MXEtRc - Kubernets on Vagrant
    • https://github.com/PurpleBooth/flappy-endpoint
    • https://ukhomeoffice.github.io/

    View Slide