Use docker-compose with docker swarm

I’m using docker 1.12.1
I have an easy docker-compose script.

version: '2'

services:
  jenkins-slave:
    build: ./slave
    image: jenkins-slave:1.0
    restart: always
    ports:
     - "22"
    environment:
     - "constraint:NODE==master1"
  jenkins-master:
    image: jenkins:2.7.1
    container_name: jenkins-master
    restart: always
    ports:
     - "8080:8080"
     - "50000"
    environment:
     - "constraint:NODE==node1"

I run this script with docker-compose -p jenkins up -d.
This Creates my 2 containers but only on my master (from where I execute my command). I would expect that one would be created on the master and one on the node.
I also tried to add

  • gitlab.com CI - build a NodeJS app using docker in docker
  • Kafka cannot resolve Zookeper's DNS name
  • How to restrict Docker containers to run on specific CPU cores or group of CPU cores
  • Building a docker image for a node.js app fails behind proxy
  • Docker with different gateways on containers
  • Can (should) Docker be used for winforms applications?
  • networks:
      jenkins_swarm:
        driver: overlay
    

    and

      networks:
         - jenkins_swarm
    

    After every service but this is failing with:

    Cannot create container for service jenkins-master: network jenkins_jenkins_swarm not found
    

    While the network is created when I perform docker network ls

    Someone who can help me to deploy 2 containers on my 2 nodes with docker-compose. Swarm is defenitly working on my “cluster”. I followed this tutorial to verify.

  • Is “args” in Mesosphere equivalent with environment variables in docker run command?
  • Is docker a solution for making application cross platform?
  • MS Edge running in guest machine does not store cookies from site hosted in another guest
  • Running 32bit LXC on 64 bit host machine?
  • what's the data's meaning collected by cadvisor?
  • How can you run a Docker container if it doesn't exist yet, or start it if it does?
  • One Solution collect form web for “Use docker-compose with docker swarm”

    Compose doesn’t support Swarm Mode at the moment.

    When you run docker compose up on the master node, Compose issues docker run commands for the services in the Compose file, rather than docker service create – which is why the containers all run on the master. See this answer for options.

    On the second point, networks are scoped in 1.12. If you inspect your network you’ll find it’s been created at swarm-level, but Compose is running engine-level containers which can’t see the swarm network.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.