Aakash, não está claro para mim se o servidor MongoDB está sendo executado como um contêiner docker ou se é um aplicativo padrão no host do docker.
O Docker executa várias redes possivelmente com drivers diferentes, portanto, você precisa anexar o pytorch a uma rede que tenha acesso à sua rede de instâncias do MongoDB.
Se o MongoDB estiver sendo executado como um aplicativo na máquina host , adicione um
--network="host"
sinalizar para o seu comando 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
Isso instruirá o docker a vincular o pytorch à(s) interface(s) de rede real e dar-lhe acesso ao mongo via
localhost: 27017
Se o MongoDB estiver sendo executado como um contêiner docker , certifique-se de que, ao executá-lo, você mapeou sua porta para o mundo externo ou se estiver executando o pytorch na mesma rede virtual que ele.
Para simplesmente expor a porta, certifique-se de que um
-p 27017:27017
sinalizador existe no comando docker run. Para usar a mesma rede virtual, verifique as
Networks
key na saída do docker inspect MONGO_CONTAINER_ID
comando e adicione o mesmo nome que --network="name"
em sua execução pytorch. Para obter mais informações, consulte o manual de rede docker .