Docker swarm host exposed port not accessible externally

I set up a docker swarm with an instance running “nc -l -p 4567” on alpine, with host forwarding mode. This container is located on a raspberry pi running fedora embedded 37, docker version 23.0.3

The swarm manager is a f37 x86 machine running docker 23.0.3 as well, the configuration fo the container is the following:

  test:
    image: alpine
    entrypoint: "nc -l -p 4567 -k"
    ports:
      - target: 4567
        published: 4567
        protocol: tcp
        mode: host
    deploy:
      replicas: 1
      placement:
        constraints:
          - "node.platform.arch==aarch64"

I can connect to the container via “nc [localip] 4567” from the raspberry pi, but I cannot connect to it from a host on the same network.

When I run the container on the raspberry pi not in a swarm but as a single container with “docker run -p 4567:4567 --entrypoint “nc -l -p 4567” alpine”, I can contact it from the other host as well, so the connection between the two hosts and the host firewall should not be the issue here.

Do you have any idea what could be the problem here?

I created a github issue here Swarm mode host port not reachable externally when other port is declared · Issue #45295 · moby/moby · GitHub