Подключение к Mongo Atlas в приложении, проксируемом nginx, mongo выбрасывает отказ в подключении localhost:27020, но я подключаюсь к mongo atlas

Итак, у меня есть приложение Django, обслуживаемое Nginx с помощью docker-compose. Мы пытаемся подключиться к Mongo Atlas для запросов к базе данных. Локально, когда я запускаю приложение, используя стандартные python manage.py runserver, я могу запросить БД Mongo Atlas, но когда я запускаю приложение через docker-compose, я получаю localhost:27020 : connection refused от Mongo Atlas.

Мой файл docker compose выглядит следующим образом.

version: "3"
services: 
    eve_backend:
        build: .
        container_name: eve_backend
        volumes:
            - ./:/app/
            - /mnt/efs:/mnt/efs
            - static_files:/static
        ports:
            - 8000:8000
        network_mode: "host"

    nginx:
        build: ./nginx
        ports:
            - 8088:80
        volumes:
            - static_files:/home/app/staticfiles
        depends_on:
            - eve_backend
        network_mode: "host"

volumes:
  static_files:

файл default.conf для nginx выглядит как

upstream eve {
    server localhost:8000;
}

server {
    listen 80;

    location / {
        proxy_pass http://eve;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
    }

    location /static/ {
        alias /home/app/staticfiles/;
    }

}

.env файл выглядит как

MONGO_CONN_URL=mongodb+srv://<username>:<password>@<mongo-atlas-url>

код выглядит как


conn_string = config("MONGO_CONN_URL")
with MongoClient(conn_string) as client:
    pass

Ошибка, возникающая при этом, выглядит как

localhost:27020: [Errno 111] Connection refused, Timeout: 10.0s, Topology Description: <TopologyDescription id: 63076946ab91f51af1bed06a, topology_type: Unknown, servers: [<ServerDescription ('localhost', 27020) server_type: Unknown, rtt: None, error=AutoReconnect('localhost:27020: [Errno 111] Connection refused')>]>
Вернуться на верх