Docker has gained significant popularity in the last few years and many businesses are choosing to use containerization instead of virtual machines to host their applications and services. We take a look at some of the best free and paid courses available on Udemy. But first, a quick overview..
What is Docker?
Docker is an OS-level virtualization tool that makes it easier for developers and administrators to create, deploy and run software applications using ‘containers’. Docker is an open source project written in go and was originally developed by Dotcloud.
Docker is now also a company that promotes and evolves this same technology. Whilst Docker is free to use, it does provide paid for solutions to businesses requiring ‘enterprise-grade’ services and support.
How does Docker work?
Developers use Docker to create an app or service and package it up with all code, dependencies and information needed to create a static ‘container image’. These container images are then held in a registry, which is like a library for all container images.
When the developer or systems administrator wants to run the app or service, the container image from the library is instantiated to create a ‘container’ that will be running on the Docker host.
Find out more at: https://docs.docker.com/engine/docker-overview/
Paid for Courses on Udemy
Whilst there are countless Docker courses available on Udemy, we’ve condensed our top choices down to just three:
- Docker Mastery by Bret Fisher is the highest rated and most popular Docker course available. Its the only one we’ve had hands on experience with and we couldn’t recommend it more. It even provides set up and optimization tips, an assignment on Docker Compose and a full overview of Swarm.
- Docker and Kubernetes: The complete guide by Stephen Grider. This course takes a broader look at CI/CD pipelines and provides core working knowledge of Docker, Kubernetes, Travis and deployment on AWS. Its great for users looking to be introduced to continuous integration/continuous deployment, but not so great if you just want to focus on Docker.
- Docker for the Absolute Beginners by Mumshad Mannambeth provides a short, sharp introduction to Docker and gets you hands on, building and running Docker images. Its designed with new DevOps in mind and skips more advanced features and functionality. Pick wisely!
Free Docker courses on Udemy
Free courses generally provide a great introduction to users looking to learn a new technology. Unfortunately, Udemy doesn’t provide a large number of free Docker courses, but we’ve picked out the best:
Docker for beginners by Samarth Deyagond provides a hands on course for beginners looking to get more familiar with Docker. It a short course at only 1.5 hours long and assumes some development, Linux and networking knowledge. Whilst the course doesn’t cover the business or architectural reasons for using docker, it does provide clear explanations of how to create docker files, run containers and build containerized services and applications.
Beginner’s Guide to Containers and Orchestration by Linux Academy provides a complete overview of Containers, Docker, Kubenetes as well as uses cases and cloud platforms. At 1.5 hours long, its just as short as Docker for beginners, but provides a more rounded introduction rather than jumping straight into hands on exercises.
Containers 101 by Raziel Tabib is an in-depth Docker course that jumps straight into a technical overview of docker commands and goes onto explain technical concepts, best practice and testing strategies. It might not be the highest rated course, but it even introduces Helm for Kubernetes.
Why learn Docker?
- Docker make it easy it deploy applications/services and share container images.
- Docker runs in an isolated environment, so you’ll not have to worry so much about managing complex dependencies.
- Docker enables you to scale many instances of the same application on the same server.
- Hands on experience with Docker is valuable to many employers within software engineering.