Aakash、MongoDBサーバーがDockerコンテナーとして実行されているのか、それともDockerホスト上の標準アプリケーションであるのかはわかりません。
Dockerは、おそらく異なるドライバーで複数のネットワークを実行するため、MongoDBインスタンスネットワークにアクセスできるネットワークにpytorchを接続する必要があります。
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
これにより、Dockerは、pytorchを実際のネットワークインターフェイスにバインドし、localhost: 27017
を介してmongoにアクセスできるようになります。
MongoDBがDockerコンテナとして実行されている場合 、実行するときは、ポートを外部にマッピングしたこと、または同じ仮想ネットワークでpytorchを実行していることを確認してください。
ポートを公開するには、-p 27017:27017
を確認してください。 dockerrunコマンドにフラグがあります。
同じ仮想ネットワークを使用するには、Networks
を確認してください docker inspect MONGO_CONTAINER_ID
の出力のキー コマンドを実行し、--network="name"
と同じ名前を追加します pytorchの実行について。
詳細については、Dockerネットワークマニュアル をご覧ください。 。