2017-06-22 18 views
3

バックエンドの単一ドッカーコンテナーを実行すると、正常に実行され、ホスト上で実行されているmongodbに接続します。しかし、私はドッカ-コンを使用して、私のバックエンドを実行すると、それはMongoDBのために接続していないとプリントがコンソールに:ドッカークラスタークラスタから外部mongodbサービスに接続できません

MongoError: failed to connect to server [12.345.678.912:27017] on first connect [MongoError: connection 0 to 12.345.678.912:27017 timed out] 

ドッキングウィンドウ-compose.yml内容:

は、私は、単一のドッキングウィンドウコンテナを実行する方法
version: "3" 
services: 
    web: 
    image: __BE-IMAGE__ 
    deploy: 
     replicas: 1 
     restart_policy: 
     condition: on-failure 
     resources: 
     limits: 
      cpus: "0.1" 
      memory: 2048M 
    ports: 
     - "1337:8080" 
    networks: 
     - webnet 
    visualizer: 
    image: dockersamples/visualizer:stable 
    ports: 
     - "1340:8080" 
    volumes: 
     - "/var/run/docker.sock:/var/run/docker.sock" 
    deploy: 
     placement: 
     constraints: [node.role == manager] 
    networks: 
     - webnet 
networks: 
    webnet: 

:ローカルホストが内部から同じではありませんので、

docker run -p 1337:8080 BE-IMAGE 
+0

ドッカーの作成ファイルの内容と、単一のコンテナの開始方法を表示できますか? –

+0

@MiguelMarques updated question –

+0

通常、同じdocker-compose.yamlファイルを使用してmongoを起動します...これ以上ではありません。mongoが上記の前に独立して起動されていると仮定しています。 –

答えて

0

あなたはMongoのポートをリンクする必要が対コンテナ外

ports: 
    - "1337:8080" 
    - "27017:27017" 

左側のポート定義は外側にあり、右側はあなたのコンテナの内部にあります...エラーは、あなたのコンテナの内部にポート27017が表示されないことを示しています...上記のmongoポートをリンクするだけですドッカー以外のポートにアクセスする

+0

"1337:8080" - BACKENDポート 私はすでにmongodbがDOCKERではなくHOST上で動作していると書いています。 –

関連する問題