Docker Community Forums

Share and learn in the Docker community.

Stack and deployment constraint fail

swarm

(yannis) #1

Hello,

I try to deploy a stack with a single service and publish on all worker nodes on port 443 (host).

Docker EE complains that cannot deploy the stack because port 443 is used by UCP, but I do set a constrain for node.role == worker!

The exact same configuration works with docker service create

I can see in Docker swarm constraints being ignored that global mode is not compatible with placement constraints, is that true?

After I change my port to 453, the stack is deployed successfully, then I edit the stack and set the port 443 and is accepted!

version: '3.3'
services:
  reverse-proxy:
    image: traefik
    deploy:
      mode: global
      placement:
        constraints:
          - node.role == worker
    ports:
     - target: 8080
       published: 8080
       protocol: tcp
       mode: host
     - target: 443
       published: 443
       protocol: tcp
       mode: host 

Is this a bug? or am I misusing the placement constraint?

cheers
Yannis