Running dockers in different hosts

We have a docker running in our rancher stack (deployed with scale = 4) in cattle environment .We see that the docker which is scaled to 4 is being deployed in the same host even though we have 4 hosts registered to the environment . Is there a way to automatically start dockers in different hosts ?
And also what algorithm does rancher follow in picking up hosts to start dockers.

Thanks in advance.