I'm frankly not certain about multibranch vs. "plain" pipeline, but in an ordinary pipeline script, you can pass a "label" to the node function, so instead of this:
You can do (for instance):
By default, this will reference a node with that name, but you really should add "labels" to your slave definitions, expressing the kinds of functionality that slave can handle. If there's one particular slave that should be used for docker builds, then put that label value on it.