I see your point. The pattern that I see more often with the install_type cookbooks is that the binary recipe is a fully-contained recipe (has all the dependencies), allowing someone to simply call docker::binary in their run_list instead of docker::default and setting an attribute. 

But it is ultimately a style choice and I can see the benefit of the style you described. Its your cookbook so I would encourage you to do what you think is best - either way would work in my mind.