Aakash, no me queda claro si el servidor MongoDB se ejecuta como un contenedor acoplable o si es una aplicación estándar en el host acoplable.
Docker ejecuta varias redes posiblemente con diferentes controladores, por lo que debe conectar pytorch a una red que tenga acceso a la red de su instancia de MongoDB.
Si MongoDB se ejecuta como una aplicación en la máquina host , agregue un --network="host"
bandera a su 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
Esto le indicará a Docker que vincule pytorch a la(s) interfaz(es) de la(s) red(es) real(es) y le dará acceso a mongo a través de localhost: 27017
Si MongoDB se ejecuta como un contenedor docker , asegúrese de que cuando lo ejecute asignó su puerto al mundo exterior o si está ejecutando pytorch en la misma red virtual que él.
Para exponer simplemente el puerto, asegúrese de que -p 27017:27017
el indicador existe en el comando de ejecución de la ventana acoplable.
Para usar la misma red virtual, marque Networks
clave en la salida de la ventana acoplable docker inspect MONGO_CONTAINER_ID
comando y agregue el mismo nombre que --network="name"
en su ejecución de pytorch.
Para obtener más información, consulte el manual de red de Docker .