Usefulness And Overview
Currently, the course topic is relevant. The paradigm of “containerization” or releasing your software as self-contained collections of related packages and dependencies called “containers” is catching on quickly across services in the industry. Even though this says it’s for Java developers, it’s not really Java specific. All the concepts and commands used are language independent to a certain extent. The part that the course missed out on was Kubernetes, a fast growing solution from Google related to container management.
Is this particular course a good use of your time to learn about Docker? Maybe. A lot of the content was easily found in documentation or by searching online. If you like information presented in sequence with context, yes, this is a good choice. Otherwise, it may be tedious or too shallow in topic coverage.
The course follows a mini-lecture with demo format. You can copy the course materials and follow along with the demo. The course starts off assuming you don’t have Docker set up. The content begins with installation and follows a simple web app through containerization, deployment, release and scaling. It further goes through monitoring options and maintenance commands.
- The instructor introduces Docker by showing you the download websites and how to install on various operating systems.
- He introduces the course material by showing how to use git to clone the course materials and use them.
- The first use of Docker is to create a container with the sample application and use the start and stop commands along with options. List running containers as well.
- Next, the website is deployed using the container and various health checks are shown. An important not here was how container health is different than application health.
- The lecture shows how to automate the use of containers in a build and release flow.
- Container sharing, tagging, and maintenance in a container store are shown along with best practices for tagging.
- Next was a more complex application with multiple services with a container that needed to be started up in a particular order (application and database).
- He went over the use of container contexts to allow running multiple instances of a container on the same host.
- This then moved into more advanced use of containers including swarm mode with rolling updates, certificate rotation, auto-scaling, and fail over.
- He went over container maintenance and use of the master node to manage other nodes in the cluster including the use of drain and pause commands.
- Another advanced topic covered was storage nodes and how to use container independent storage or distributed storage solutions with containers.
- As the last topic, he went over tools and other plugins for monitoring including the stats CLI tool, Prometheus and C Advisor.
- He did not go over Kubernetes but recommended it as a future topic.