Docker has a number of strong suits and implementations depending upon your needs. It's ability to encapsulate software and services in a lightweight manner allow for portable dev environments and flexible production setups. Which can all be linked and networked together to share data as and where needed.
Software dependency and portability is no longer really a problem either with Docker. It changes workflows for the better and removes some recurrent annoyances. Public/private repositories to access and store container images are officially available from the Docker team too.
The project itself is also open-source so "free" to use by default. Training and community resources are on offer to all in various differing mediums. Most of which are good quality content wise and always being updated.
The documentation for Docker could be more intuitive and should feel a lot less unstructured than it currently does. If you can find and know what you're looking for it's fine, but finding what you need easily is the issue.
Security or security practices have for a while been a concern with Docker, and it's easy to see why when you're dealing with the utility that Docker provides. This seems to be an ongoing aspect for the developers and needs more time to be completely fleshed out.
It's still in its infancy in comparison to a lot of other services out there, so there are issues both well known and even yet to be discovered most likely. Be aware of this when adopting Docker to your infrastructure or needs.
Docker is talked about all over for good reason. It's likely it can be put to task in some way shape or form to help how you run things, regardless of the scale of the system. Start small and learn as you go along with it, don't dive into the deep end trying to implement everything you have with Docker. Start small, build up.
Some of my setups are now a hundred times easier to run. Deploying is quicker, workflow makes more sense, isolated services are easier to organise, and I can get more out of less with the efficiency Docker provides.