Aakashi, není mi jasné, jestli server MongoDB běží jako kontejner dockeru nebo je to standardní aplikace na hostiteli dockeru.
Docker provozuje více sítí, případně s různými ovladači, takže musíte pytorch připojit k síti, která má přístup k vaší síti instance MongoDB.
Pokud MongoDB běží jako aplikace na hostitelském počítači , přidejte --network="host"
flag k vašemu příkazu 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
To dá docker pokyn, aby navázal pytorch na rozhraní skutečné sítě a poskytl mu přístup k mongo přes localhost: 27017
Pokud MongoDB běží jako dokovací kontejner , ujistěte se, že když jej spouštíte, namapovali jste jeho port na vnější svět nebo pokud používáte pytorch na stejné virtuální síti jako on.
Chcete-li port jednoduše vystavit, ujistěte se, že -p 27017:27017
příznak existuje v příkazu spuštění dockeru.
Chcete-li použít stejnou virtuální síť, zkontrolujte Networks
klíč na výstupu docker inspect MONGO_CONTAINER_ID
a přidejte stejný název jako --network="name"
na vašem provedení pytorch.
Další informace najdete v příručce k síti docker .