MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie lade ich Daten in MongoDB, die auf einem Host ausgeführt werden, von einem Docker, der auf demselben Computer ausgeführt wird?

Aakash, mir ist nicht klar, ob der MongoDB-Server als Docker-Container läuft oder ob es sich um eine Standardanwendung auf dem Docker-Host handelt.

Docker betreibt mehrere Netzwerke, möglicherweise mit unterschiedlichen Treibern, daher müssen Sie pytorch an ein Netzwerk anhängen, das Zugriff auf Ihr MongoDB-Instanznetzwerk hat.

Wenn MongoDB als Anwendung auf dem Hostcomputer ausgeführt wird , fügen Sie ein --network="host" hinzu Flag zu Ihrem Pytorch-Befehl hinzufügen.

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

Dadurch wird Docker angewiesen, pytorch an die reale(n) Netzwerkschnittstelle(n) zu binden und ihm Zugriff auf Mongo über localhost: 27017 zu gewähren

Wenn MongoDB als Docker-Container ausgeführt wird , stellen Sie sicher, dass Sie bei der Ausführung seinen Port der Außenwelt zugeordnet haben oder ob Sie pytorch im selben virtuellen Netzwerk wie es ausführen.

Um den Port einfach verfügbar zu machen, stellen Sie sicher, dass ein -p 27017:27017 Flag existiert im docker run-Befehl.

Um dasselbe virtuelle Netzwerk zu verwenden, überprüfen Sie die Networks key auf der Ausgabe von docker inspect MONGO_CONTAINER_ID Befehl und fügen Sie denselben Namen wie --network="name" hinzu bei deiner Pytorch-Hinrichtung.

Weitere Informationen finden Sie im Docker-Netzwerkhandbuch .