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

Comment charger des données dans MongoDB s'exécutant sur l'hôte depuis un Docker s'exécutant sur la même machine ?

Aakash, je ne sais pas si le serveur MongoDB s'exécute en tant que conteneur Docker ou s'il s'agit d'une application standard sur l'hôte Docker.

Docker exécute plusieurs réseaux éventuellement avec différents pilotes, vous devez donc attacher pytorch à un réseau qui a accès à votre réseau d'instance MongoDB.

Si MongoDB s'exécute en tant qu'application sur la machine hôte , ajoutez un --network="host" drapeau à votre commande pytorch.

docker run -it -v /home/ubuntu/Downloads/docker_work/test_py_app/app:/workspace/app -p 8881:8888 -p 5002:5002 --gpus all --network="host" --rm nvcr.io/nvidia/pytorch:20.08-py3

Cela demandera à docker de lier pytorch à la ou aux interfaces réseau(x) réelles et de lui donner accès à mongo via localhost: 27017

Si MongoDB s'exécute en tant que conteneur Docker , assurez-vous que lorsque vous l'exécutez, vous avez mappé son port sur le monde extérieur ou si vous exécutez pytorch sur le même réseau virtuel que lui.

Pour exposer simplement le port, assurez-vous qu'un -p 27017:27017 indicateur existe sur la commande docker run.

Pour utiliser le même réseau virtuel, cochez la case Networks clé sur la sortie du docker inspect MONGO_CONTAINER_ID commande et ajoutez le même nom que --network="name" sur votre exécution de pytorch.

Pour plus d'informations, consultez le manuel du réseau docker .