MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment connecter le conteneur docker nodeJS à mongoDB

Il existe plusieurs façons de le faire.

  • exécutez votre application sur le même réseau que votre mongodb :

    docker run --net container:mongo_live your_app_docker_image
    
    # then you can use mongodb in your localhost
    $ ENV MONGO_URL mongodb://localhost:27017/
    
  • Vous pouvez également lier deux conteneurs :

    docker run --link mongo_live:mongo_live you_app_image ..
    # Now mongodb is accessible via mongo_live
    
  • utiliser l'adresse IP du conteneur mongodb :

    docker inspect -f '{{.NetworkSettings.IPAddress}}' mongo_live
    # you will get you container ip here
    
    $ docker run -it 0b422defbd59 /bin/bash
    # ENV MONGO_URL mongodb://[ip from previous command]:27017/
    
  • Vous pouvez lier votre port mongodb à votre hôte et utiliser le nom d'hôte de l'hôte dans votre application

  • Vous pouvez utiliser le docker network et exécutez les deux applications sur le même réseau

  • Vous pouvez passer --add-host mongo_live:<ip of mongo container> pour exécuter docker pour votre application, puis utilisez mongo_live pour l'URL mongodb

  • Vous pouvez également utiliser docker compose pour vous faciliter la vie;)

...