Surely, as you are not going to want to containerize everything, so servers still have to be built. Docker has to run on a machine. That machine will have an operating system, which will have to be configured and updated. It’s going to have to have the software installed on it (like Docker) and that the software will have to be configured and updated. And most compute resources aren’t in the cloud yet, so there will be network devices that have to be configured and updated. Talking about DevOps it is not about having one tool to rule them all. It is about integrating the right tools for each job in a way that makes sense for your environment. If Chef only does one thing in your environment, but that one thing is critically important and can only be implemented and managed efficiently using Chef (or something like it) then Chef is still relevant. If you want to learn Docker, Chef, Puppet all together then I would suggest you must take up the following DevOps training Course. This course covers all these topics including Git, Jenkins and some other things. You can also watch the following video tutorial on Docker, DevOps to clear all your concepts and do some hands-on.