Course Lessons
What and Why?
If you're new to containers, you might wonder "why Docker"? After all, we shouldn't just use tools because someone else said so. What exactly are we getting by using Docker?
After all, you may have been slinging code for years, developing on your local machine without issue. You've navigated upgrades to your operating system, your database, your languages, and frameworks, and this has never caused a problem.
Right?

We've all been there. An update to a dependency somewhere in your development environment has caused a problem. You've probably lost hours getting things back to working condition.
If only there was a better way, right?
Isolation
You have probably heard about the single-responsibility principle when it comes to code, but what about your coding environment? What about your dependencies? By having them all within your host operating system, you have zero isolation.
Docker solves this problem by using lightweight containers to give you the isolation so that you can perform updates with ease. Each container
packages an application and its dependencies, providing a consistent environment from development to production. This means you can perform updates and changes without worrying about breaking your entire setup.
Development vs Production
Well, it works on my machine. — Every Developer in History
If you haven't said this or heard it before, give it time. As developers, we're writing code that ultimately will run on different hardware with a different operating system. It may even run on a slightly different version of your database or your programming language. This doesn't mean you're guaranteed to have problems, but why wouldn't you want to match things as closely as possible?
Docker helps solve this. By using Docker images in both environments, you can eliminate the problem. This consistency reduces bugs and makes deployments smoother and more predictable.
Reproducibility
It's not just about production though. There is consistency with all developers on the team, your CI/CD pipelines leverage the same tooling. No one wants to chase down problems that aren't really problems or worse, thinking things will work fine that don't.
So now that you know what Docker is all about, how do you install it?
You've completed this lesson!
You completed this lesson less than a minute ago.