It covers everything from "What is Docker?" to learning how to apply it to your own projects. There's a tiny bit of theory, followed by lots of guided labs and examples.
In case you're curious, I've been using Docker in development and production since 2014 and am also a Docker Captain (TL;DR is Docker reached out to me to join their team as a trusted content provider).
[0] https://github.com/gravitational/workshop/blob/master/docker...
[1] https://github.com/gravitational/workshop/blob/master/k8s101...
We (Red Hat) make the following references (beyond what our training & docs provide) available to our consultants, customers, and world at-large. BTW, if something isn't clear, is wrong, or you want to discuss a point, reach out to us on GitHub. Just about all of our products, software, and documentation are up on GitHub.
I'd also recommend playing with Minishift or Minikube. Great way to put a quick sandbox on your laptop.
The source GitHub Repo: https://github.com/redhat-cop/openshift-playbooks
Building Blocks of OpenShift (& Kubernetes): http://v1.uncontained.io/playbooks/fundamentals/building_blo...
Docker Fundamentals Reference: http://v1.uncontained.io/playbooks/fundamentals/docker_refer...
Minishift: https://docs.openshift.org/latest/minishift/getting-started/...
Docker adds to this 1. a packaging that lets you define what goes into a container (Dockerfile) and format (docker image) - which can be downloaded, extracted, manipulated and uploaded. 2. a way to stop (freeze) and start (thaw) a container 3. tools for controlling network capabilities within a container and between the host and container or other containers on other hosts.
Those are the essentials.
Kubernetes (and other tools) expand on this in terms of orchestration -- especially the internetworking aspect but also failover and load balancing.