Nginx will use all of the cores if you configure it so I dont see creating a bunch of containers in the same machine as a great way to scale WordPress. I don't see why you don't just include mysql in the container/image. As far as I can tell people don't want to do that because it just makes things too simple. Anything that is easy can't possibly be a "Best Practice".
i was trying out serf, but one issue that killed it for orchestration is behavior around network partitions or transient net issues, namely messages get dropped on the floor. which would need a layer on top to query out distributed eventually consistent state for a node rejoin to replay orchestration. using etcd (or even zk) is considerably simpler to reason about failure recovery for transient issues.