QA@IT

Docker Swarmにおいてworkerノードで動かしているhaproxyが思った通りに機能しません

278 PV

Docker Swarmでサーバ2台にアプリのクラスタリングをしたのですが、
ロードバランサとしてdockercloud/haproxyを使ったところ、
workerノードで稼働させた場合にHTTPコネクションが通りませんでした。
なお、managerノードで稼働させ/var/run/docker.sockをマウントしている場合はうまくいきました。
使用したスタックファイルは下記になります。

version: '3'
services:
  app:
    image: dockercloud/hello-world
    deploy:
      replicas: 2
    environment:
      SERVER_PORTS: 80
  lb:
    image: dockercloud/haproxy
    deploy:
      replicas: 1
      placement:
        constraints:
          - node.role == worker
    environment:
      DOCKER_HOST: tcp://xxx.xxx.xxx.xxx:2375
    ports:
      - 80

なお、workerノードのサーバから以下のようなホスト指定したdockerコマンドの動作は確認しています。

$ docker -H tcp://xxx.xxx.xxx.xxx:2375 ps

どなたか解決方法をご存知ありませんでしょうか。

ウォッチ

この質問への回答やコメントをメールでお知らせします。