Screen Too Small

This course material requires a larger screen to properly display the terminal and editor interfaces.

Please use a tablet, laptop, or desktop computer for the best learning experience.

You can continue browsing, but the experience will be significantly limited.

1/8
Free Trial: 2 lessons remaining
Unlock Full Access

What and Why?

Estimated time: 5 minutes

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?

Padme learns a life lesson.

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.