an introduction to docker
TRANSCRIPT
About MeBrayden Winterton● Computer Science Major at BYU● Head of BYU Production Services
Development TeamHow I use docker:● Development environments● CI/CD pipeline● Clustered Production Environments
Survey
● Who here has heard of Docker?● Who has used Docker before?● Who uses Docker as part of their daily
workflow?
What is Docker?Docker Engine:● CLI● Docker Daemon● Runs the containersDocker Hub:● Sharing applications/containers● Used in automating workflows● Much like Github
Why developers love it:● Devs can build apps using any language and toolchain● Build once, run anywhere● Docker creates a clean portable runtime for the app● No more worries about missing dependencies● Peace of mind knowing that apps will not conflict (nor
will their dependencies)● Compatibility concerns go out the window● Automated testing, building, packaging, etc becomes
much more simple. ● Fast, lightweight runtime environments
Why sysadmins love it:
● Standardized, repeatable environments● No more “works on my machine”● Abstract application from OS and Infrastructure● Flexibility in where to run the application● Deployment driven by business priorities● Rapid scale-up and scale-down to respond to load● Eliminate inconsistencies between environments● Increase reliability and speed of CI/CD systems● TL;DR: Deploy any app, to any infrastructure
Want to separate concerns?
Development:● Worries about what’s
inside the container:o Codeo Librarieso Datao Applications
● Assumes that all environments look the same
Operations:● Worries about what’s
outside the container:o Loggingo Monitoringo Configurations
● All containers start, stop, reload, and accept configuration the same way
Want to combine concerns?
● Give developers access to existing resources
● Allow developers to deploy built containers to infrastructureo Either using Continuous Deployment or a
standardized method● Make the developers wake up in the middle
of the night to fix it
Running a real application in a container, and port management
Ok that was cute, lets see a real example
Brayden Winterton● Twitter: @braydenw● Email: [email protected]● Github: bwinterton