Aakash, nie jest dla mnie jasne, czy serwer MongoDB działa jako kontener dockera, czy jest to standardowa aplikacja na hoście dockera.
Docker obsługuje wiele sieci, prawdopodobnie z różnymi sterownikami, więc musisz podłączyć pytorch do sieci, która ma dostęp do sieci instancji MongoDB.
Jeśli MongoDB działa jako aplikacja na komputerze głównym , dodaj --network="host"
flagę do twojego polecenia 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
Poinstruuje to docker, aby powiązał pytorch z rzeczywistymi interfejsami sieci i dał mu dostęp do mongo przez localhost: 27017
Jeśli MongoDB działa jako kontener Dockera , upewnij się, że po uruchomieniu zmapowałeś jego port do świata zewnętrznego lub jeśli używasz pytorcha w tej samej sieci wirtualnej, co on.
Aby po prostu odsłonić port, upewnij się, że -p 27017:27017
w poleceniu docker run istnieje flaga.
Aby korzystać z tej samej sieci wirtualnej, sprawdź Networks
klawisz na wyjściu docker inspect MONGO_CONTAINER_ID
polecenie i dodaj taką samą nazwę jak --network="name"
na wykonanie pytorcha.
Aby uzyskać więcej informacji, zapoznaj się z podręcznikiem sieci dockera .