2016-09-12 12 views
0

私はnodejsアプリケーションからアクセス可能でなければならないelasticsearchコンテナを持っていますが、私の最初のコンテナにはnodejsアプリケーションがアクセスできるようにしたくありません。Dockerコンテナのみ別のアクセス可能

nodejsアプリからelasticsearchコンテナへのリンクを設定しましたが、他の接続を無効にするオプションが見つかりませんでした。

これを達成する最も良い方法は何ですか?

答えて

2

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を参照することができます。

関連する問題