Aakash, не ми е ясно дали MongoDB сървърът работи като докер контейнер или е стандартно приложение на докер хоста.
Docker работи с множество мрежи, вероятно с различни драйвери, така че трябва да прикачите pytorch към мрежа, която има достъп до вашата мрежа на екземпляр на MongoDB.
Ако MongoDB работи като приложение на хост машина , добавете --network="host"
флаг към вашата команда 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
Това ще инструктира докера да свърже pytorch към интерфейса(ите) на реалната мрежа(и) и да му даде достъп до mongo чрез localhost: 27017
Ако MongoDB работи като докер контейнер , уверете се, че когато го стартирате, сте картографирали неговия порт към външния свят или ако изпълнявате pytorch в същата виртуална мрежа като него.
За да изложите порта просто, уверете се, че -p 27017:27017
съществува флаг в командата за изпълнение на докер.
За да използвате същата виртуална мрежа, проверете Networks
ключ на изхода на docker inspect MONGO_CONTAINER_ID
и добавете същото име като --network="name"
на вашето изпълнение на pytorch.
За повече информация разгледайте ръководството за докер мрежа .