MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como carregar dados no MongoDB rodando no host de dentro de um Docker rodando na mesma máquina?


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 .