What would you be able to do if the headaches of developing your applications in an environment like production didn't have to exist?
Good news: it is possible!
Does this sound familiar?
Setting up a new computer is a pain - you dread bringing in a new developer or getting a new computer because you know it's going to take a week to get all of the applications and tools you use working properly.
Your tests fail on CI and you don't know why - All of your automated tests run great on your brand new Mac or PC, but as soon as they start running on your continuous integration server all bets are off.
You're afraid of deploying - the code you develop works great on your computer, but you have to wait and hope it doesn't fail once it's deployed.
If you answered "yes" to any of those questions then you're in the right spot.
You are a software developer or DevOps engineer looking to keep your skills relevant moving into the future. You need to understand and use Docker. Here are just a few reasons why you can't afford to delay learning Docker:
You could spend entire days or weeks digging through the Docker documentation and experimenting with what works and what doesn't in Docker. Alternatively, you could learn from someone who's been using Docker for development, testing, and deployment for years.
In Just a Few Hours You'll Be Able To:
Package your code and dependencies in a way that makes setting up a new computer a dream, and eases your fear of how production will behave.
Confidently run your tests from any computer, knowing that "it works on my machine" is a phrase of the past.
Configure a continuous integration server that is just as portable as your own application using the same skills.
Deploy applications using containers using the same tools that you use while developing.
Keith is the creator of CoderJourney, providing tutorials for a wide variety of software development topics. He speaks from his experience as a software engineer for product companies and as a consultant.