私はnodejsアプリケーションからアクセス可能でなければならないelasticsearchコンテナを持っていますが、私の最初のコンテナにはnodejsアプリケーションがアクセスできるようにしたくありません。Dockerコンテナのみ別のアクセス可能
nodejsアプリからelasticsearchコンテナへのリンクを設定しましたが、他の接続を無効にするオプションが見つかりませんでした。
これを達成する最も良い方法は何ですか?
私はnodejsアプリケーションからアクセス可能でなければならないelasticsearchコンテナを持っていますが、私の最初のコンテナにはnodejsアプリケーションがアクセスできるようにしたくありません。Dockerコンテナのみ別のアクセス可能
nodejsアプリからelasticsearchコンテナへのリンクを設定しましたが、他の接続を無効にするオプションが見つかりませんでした。
これを達成する最も良い方法は何ですか?
elasticsearchコンテナと必要な特定のクライアントによってのみ共有されるプライベートネットワークを作成できます。また、nodejsアプリケーションが他のコンテナと通信できるようにする第2のネットワークを作成することもできます。
リンクを使用しないでください。以下のような独自のネットワークを定義している場合、それらは遺産とみなされます。このドッキングウィンドウ-compose.yml例で
version: "2"
networks:
backend:
driver: bridge
esprivate:
driver: bridge
services:
elasticsearch:
image: elasticsearch:2.3.3
networks:
- esprivate:
expose:
- "9200"
- "9300"
nodejs:
networks:
- esprivate
- backend
other_service:
networks:
- backend
、あなたのnodejsアプリは、URL http://elasticsearch:9200
を使用してelasticsearchを参照することができます。