I use the Throttle Concurrent Builds plugin in order to ensure that only 1 node at a time is doing a Docker job. Under normal circumstances, it works. However, when new Jenkins nodes first come online, I notice that Jenkins is dispatching more than one job to the same Jenkins/Docker node. This causes job failures.
However, after the first round of my jobs fail, something evidently changes within Jenkins because from that point forward, Jenkins correctly only assigns one job per Docker node.