sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo conectar el contenedor docker de nodeJS a mongoDB

Hay un par de formas de hacerlo.

  • ejecute su aplicación en la misma red que su 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/
    
  • También puede vincular dos contenedores:

    docker run --link mongo_live:mongo_live you_app_image ..
    # Now mongodb is accessible via mongo_live
    
  • use la dirección IP del contenedor 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/
    
  • Puede vincular su puerto mongodb a su host y usar el nombre de host del host en su aplicación

  • Puedes usar docker network y ejecute ambas aplicaciones en la misma red

  • Puede pasar --add-host mongo_live:<ip of mongo container> para ejecutar docker para su aplicación y luego usar mongo_live para la URL de mongodb

  • También puede usar docker compose para hacerte la vida más fácil;)

...