クラスタ外でDocker Swarmサービスにアクセスするには?

クラスタ外でDocker Swarmサービスにアクセスするには?

自分のクラスタで実行されているWebアプリケーションがある場合は、外部クライアントからそのアプリケーションにどのようにアクセスしますか?リバースプロキシが必要ですか、それともそれを実行する「クラスタリング方式」がありますか?

ベストアンサー1

サービスを作成するときにこのオプションを使用する必要があります--publish

たとえば、

docker service create --detach=true --replicas 3 --publish 80:80 --name httpd httpd

これでポート80がプライマリネットワークに公開されます。役に立つのは、すべてSwarmのサーバーはポート80を公開し、コンテナが実際に実行されている場所に内部リダイレクトを実行します。

繰り返しますが、スタックを使用している場合は、このオプションを使用できますports。たとえば、

services:
  web:
    image: httpd
    ports:
      - 80:80

おすすめ記事