top | item 9586060

Docker Basics: A practical starters guide

4 points| timbutlerau | 11 years ago |conetix.com.au | reply

3 comments

order
[+] chrisacree|11 years ago|reply
I use AWS for some projects, so I can boot up identical machines in a few minutes as needed from a script.

What's the benefit of Docker for me? Easier time switching hardware/OS down the road? I guess I just never fully understood the value proposition (I'm not an Ops guy).

[+] jdoss|11 years ago|reply
It allows you to bundle your entire app and all the specific OS dependencies into one container to deploy it consistently on anything that supports Docker. While you might have your scripts to fit your needs for setting up your servers on AWS, what if you have users that are trying to deploy your cool app don't have access to your scripts or the understanding to even use them if you handed them over? What if you could ensure that your app was 100% setup correctly with everything needed regardless of the underlying OS? Docker helps make that happen.

The best example I can personally give you that shows the value and power of docker is with my experience with the forum software Discourse [1]. Being an Ops guy, I wanted to install it on CentOS 7 without their Docker setup and it took me a lot of time and effort to get it to work correctly. I recently set it up again for a demo for a group of people to check out and I didn't have the time to do a manual install, so I used their Docker method. I had it up and running in under 30min on CentOS 7. It was great and updating the forum down the road was very easy as a result of using the Docker method too. My manual install has a bunch of work involved to update it correctly and as a result, I don't updated it as frequently.

[1]: https://github.com/discourse/discourse

[+] timbutlerau|11 years ago|reply
I covered a bit more of why in the first article here: https://www.conetix.com.au/blog/what-is-docker

Do you deploy individual services to isolated AWS instances or are they on the one instance? Do you ever hit dependency issues upgrading some of the services? Do you ever hit the "worked in development" type production pushes? If so, Docker may be of interest to you.

Of course, if it's not broken then you don't need to fix it. Docker can't solve issues if they don't exist in your environment and it's not a 100% fit for every scenario. It's still worth having a play so that you know how it all works, once you start using it it'll make a bit more sense.