I was able to get this working by using the following command on the Windows node: docker node update --label-add os=windows nodename. And then using something like this to create the service: docker service create --constraint ‘node.labels.os==windows’ --replicas 1 --name servicename imagename.