1

I'm having trouble working my code in docker. Could you please help me?

I'm putting my application in docker together with mongo in docker, but when I run the file inside docker it doesn't connect with the mongo of the other docker and accuses Timeout.

My Docker:

version: "3.4"

services:

  mongo_db:
    image: mongo:6.0
    ports:
      - "27017:27017"
    volumes:
      - ./mongo_db:/data/db
    container_name: mongo_db

  mongo_app:
    image: mongo_img_db:latest
    links:
      - mongo_db
    command: python3 /app/main.py
    container_name: mongo_app

Error:

@@@ Connection: Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'app')
Traceback (most recent call last):
  File "/app/main.py", line 216, in <module>
    db_calc.update_storage_stats(db_calc.calculate_artifacts_size())
  File "/app/main.py", line 43, in calculate_artifacts_size
    artifacts_size = self.db_client.builds.aggregate(
  File "/usr/local/lib/python3.9/site-packages/pymongo/collection.py", line 2428, in aggregate
    with self.__database.client._tmp_session(session, close=False) as s:
  File "/usr/local/lib/python3.9/contextlib.py", line 119, in __enter__
    return next(self.gen)
  File "/usr/local/lib/python3.9/site-packages/pymongo/mongo_client.py", line 1757, in _tmp_session
    s = self._ensure_session(session)
  File "/usr/local/lib/python3.9/site-packages/pymongo/mongo_client.py", line 1740, in _ensure_session
    return self.__start_session(True, causal_consistency=False)
  File "/usr/local/lib/python3.9/site-packages/pymongo/mongo_client.py", line 1685, in __start_session
    self._topology._check_implicit_session_support()
  File "/usr/local/lib/python3.9/site-packages/pymongo/topology.py", line 538, in _check_implicit_session_support
    self._check_session_support()
  File "/usr/local/lib/python3.9/site-packages/pymongo/topology.py", line 554, in _check_session_support
    self._select_servers_loop(
  File "/usr/local/lib/python3.9/site-packages/pymongo/topology.py", line 238, in _select_servers_loop
    raise ServerSelectionTimeoutError(
pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused, Timeout: 30s, Topology Description: <TopologyDescription id: 63542415a868649d12f2a966, topology_type: Unknown, servers: [<ServerDescription ('localhost', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('localhost:27017: [Errno 111] Connection refused')>]>

0 Answers0