To start, Docker is software that is based around building containers. Containers aren’t actually a thing, they are, in their simplest form Linux namespaces and cGroups that combine to create an environment for running software. Containers can be a box that you put your application in with all the dependencies and it will just work anywhere. Kubernetes (also known as K8s) is used to orchestrate containers in a cloud environment. Understanding Docker and K8s can be very beneficial even if you don’t work with this on a day to day basis.
First is understanding Docker (Docker containers work very well with Kubernetes)
- Start with the overview it will give you a brief understanding of the concepts
- Now get your hands dirty with their Getting Started
- This Quora question has lots of good takes on explaining Docker
Now that you have a grasp on Docker and containers, next is K8s
- Start with The Illustrated Children’s Guide to Kubernetes by Matt Butcher OR the video version (which is also amazing)
- K8s intro tutorial is really good too
- Finally if you like courses, I’m currently doing the Intro to Kubernetes course by the Linux Foundation (on the edx.org platform). It’s pretty good so far though for each chapter I’d recommend reading the ‘knowledge check’ questions before
- A bit more in-depth introduction to K8s from Digital Ocean
- Kubernetes Up & Running is a fantastic book that I’m working through in tandem with the EDX course above
- There is also some labs Kubernetes the hard way if you really want to go deep (I plan on doing these as the last step before my CKA exam)
- And finally this video by Jessie Frazelle is one of my main motivators for learning containers. It was inspirational and so neat!
Did I miss anything? Send me an email and let me know!