web-dev-qa-db-ja.com

別のスタックにあるサービスにどのようにアクセスしますか?

Docker Swarm構成があり、そこに2つのスタック(mainおよびmon)をデプロイしました。1つのスタックでポートを公開し、別のスタックからポートを参照できます。しかし、私はそれを行わない方法を見つけようとしていましたが、代わりに127.0.0.11 DNSを使用してアクセスできるようにしました。

mongrafanaというサービスがあります

https://docs.docker.com/docker-cloud/apps/service-links/#discovering-services-or-containers-on-another-stack を使用すると、スタックを使用できることが示されます参照する名前が機能しませんでしたping grafana.mon無効なホスト名を返しました。

4

これを行うには、同じネットワークを使用するだけで、それらが表示されます。私の場合、publicというネットワークを定義しました。これは、すべてのスタックによって外部から参照されます

docker network create -d overlay --attachable public

そこから私が持っているdocker-compose.ymlファイルで

networks:
  public:
    external:
      name: public

アクセスするには、サービス名を使用します。

1