I’ve spent most of the summer traveling to and speaking at a lot of different trade shows: EMC World, Cisco Live!, VMworld, HP Discover, Dockercon, and LinuxCon (as well as some meetups and smaller gatherings). A lot of the time, I’m speaking to people who are just getting familiar with Docker. They may have read an article or have had someone walk into their office and say “This Docker thing, so hot right now. Go figure it out”.
Certainly there are a number of companies running Docker in production, but there are still many who are asking fundamental questions about what Docker is, and how it can benefit their organization. To help folks out in that regard, I wrote an eBook.
After someone gets a grasp on what Docker is, they tend to want to dive in and start exploring, but often times they aren’t sure how to get started.
My advice (based on the approach I took when I joined Docker last year) is to walk, jog, and then run:
Walk: Decide where you want to run Docker, and install it. This could be Docker for Mac, Docker for Windows, or just installing Docker on Linux. Pick whatever makes the most sense for your environment and load it up.
From there run your first Docker app: hello-world
$ docker run hello-world
After you know you have Docker running, work your way through one of our labs. I’d suggest starting with this beginner lab we have on GitHub.
Jog: You’ve got Docker installed, and you have played with the command line a bit. You’ve probably run a few containers as well. The next step is to try and replicate a commonly deployed application in Docker.
When I started working with Docker the first application I tried to deploy was WordPress. It is a good example because it has a few moving parts (the web front end and a database backend), and there are about a thousand blogs on how to do it. Read a bunch of blogs, and then give it a go.
After WordPress I decided to build a very simple CI pipeline using Jenkins. CI is a great use case for Docker. Docker vastly simplifies your build environments, and, because containers deploy so quickly, customers can see some real time savings as well.
Run: So you’ve been able to stand up someone else’s application, now it’s time to take the next step. Deploy one of your own. Take an existing application, and move it into a container.
This will allow to build your own Dockerfile from scratch, and maybe even a Docker Compose file as well. Try and choose an app with on a few moving parts, and be mindful of things like static configs and port mappings which can add additional complexity.
So download the eBook and get started walking. If you get stuck, ask for help from the community, or attend a meetup. There are a growing number of Docker experts out there who are always more than willing to lend a hand.
Here are some helpful links: