• Почему выводит что порт уже занят, при попытке подключить postgres из docker с локальной postgres?

    @Munchen777
    65981f47090a4494903550.png
    65981f527a09d578266403.png
    Отметки "Нравится" поставил. А такое, как вы скинули не вижу.
    Написано
  • Почему выводит что порт уже занят, при попытке подключить postgres из docker с локальной postgres?

    @Munchen777
    Михаил Васильев, аллилуйя. Запустилось) Походу моя ошибка была , что я только использовал команду docker-compose up, но до этого не сделал билд образа, то есть выполнил команду docker-compose up --build
    Ваш совет кстати помог. В environments прописал у бота базу
    Написано
  • Почему выводит что порт уже занят, при попытке подключить postgres из docker с локальной postgres?

    @Munchen777
    Михаил Васильев, вот логи. Пробовал и прописать как вы писали. Не помогло. Наверно, дело в том, что я использую не переменную окружения , а файл config.ini(конфигурационный) и файл config.py, где у меня configParser. Все же в основном используют переменные окружения --\/-_-\/--
    Но как у меня прописано, билдится все, что находится. Файлы config.ini, main.py , docker-compose и Dockerfile у меня в корне на одном уровне.
    ```
    docker-compose up
    [+] Running 2/2
    ✔ Container try_create_async_bot-database-1 Recreated 0.1s
    ✔ Container try_create_async_bot-bot-1 Recreated 0.0s
    Attaching to bot-1, database-1
    database-1 |
    database-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization
    database-1 |
    database-1 | 2024-01-05 14:10:14.692 UTC [1] LOG: starting PostgreSQL 16.1 (Debian 16.1-1.pgdg120+1) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
    database-1 | 2024-01-05 14:10:14.692 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
    database-1 | 2024-01-05 14:10:14.692 UTC [1] LOG: listening on IPv6 address "::", port 5432
    database-1 | 2024-01-05 14:10:14.693 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
    database-1 | 2024-01-05 14:10:14.696 UTC [30] LOG: database system was shut down at 2024-01-05 14:08:24 UTC
    database-1 | 2024-01-05 14:10:14.699 UTC [1] LOG: database system is ready to accept connections
    bot-1 | 2024-01-05 14:10:15.967 | ERROR | __main__:main:27 - Starting bot
    bot-1 | 2024-01-05 14:10:15.967 | INFO | __main__:create_tables:19 - Tables have been created.
    bot-1 | Traceback (most recent call last):
    bot-1 | File "/app/main.py", line 45, in
    bot-1 | asyncio.run(main())
    bot-1 | File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run
    bot-1 | return loop.run_until_complete(main)
    bot-1 | File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
    bot-1 | return future.result()
    bot-1 | File "/app/main.py", line 28, in main
    bot-1 | await create_tables()
    bot-1 | File "/app/main.py", line 20, in create_tables
    bot-1 | async with async_engine.begin() as conn:
    bot-1 | File "/usr/local/lib/python3.10/contextlib.py", line 199, in __aenter__
    bot-1 | return await anext(self.gen)
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/ext/asyncio/engine.py", line 1061, in begin
    bot-1 | async with conn:
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/ext/asyncio/base.py", line 125, in __aenter__
    bot-1 | return await self.start(is_ctxmanager=True)
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/ext/asyncio/engine.py", line 270, in start
    bot-1 | await greenlet_spawn(self.sync_engine.connect)
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 190, in greenlet_spawn
    bot-1 | result = context.throw(*sys.exc_info())
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3268, in connect
    bot-1 | return self._connection_cls(self)
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__
    bot-1 | self._dbapi_connection = engine.raw_connection()
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3292, in raw_connection
    bot-1 | return self.pool.connect()
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 452, in connect
    bot-1 | return _ConnectionFairy._checkout(self)
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1269, in _checkout
    bot-1 | fairy = _ConnectionRecord.checkout(pool)
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 716, in checkout
    bot-1 | rec = pool._do_get()
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 169, in _do_get
    bot-1 | with util.safe_reraise():
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
    bot-1 | raise exc_value.with_traceback(exc_tb)
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 167, in _do_get
    bot-1 | return self._create_connection()
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 393, in _create_connection
    bot-1 | return _ConnectionRecord(self)
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 678, in __init__
    bot-1 | self.__connect()
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 902, in __connect
    bot-1 | with util.safe_reraise():
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
    bot-1 | raise exc_value.with_traceback(exc_tb)
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 898, in __connect
    bot-1 | self.dbapi_connection = connection = pool._invoke_creator(self)
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 637, in connect
    bot-1 | return dialect.connect(*cargs, **cparams)
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 616, in connect
    bot-1 | return self.loaded_dbapi.connect(*cargs, **cparams)
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 936, in connect
    bot-1 | await_only(creator_fn(*arg, **kw)),
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 125, in await_only
    bot-1 | return current.driver.switch(awaitable) # type: ignore[no-any-return]
    bot-1 | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 185, in greenlet_spawn
    bot-1 | value = await result
    bot-1 | File "/usr/local/lib/python3.10/site-packages/asyncpg/connection.py", line 2329, in connect
    bot-1 | return await connect_utils._connect(
    bot-1 | File "/usr/local/lib/python3.10/site-packages/asyncpg/connect_utils.py", line 1017, in _connect
    bot-1 | raise last_error or exceptions.TargetServerAttributeNotMatched(
    bot-1 | File "/usr/local/lib/python3.10/site-packages/asyncpg/connect_utils.py", line 991, in _connect
    bot-1 | conn = await _connect_addr(
    bot-1 | File "/usr/local/lib/python3.10/site-packages/asyncpg/connect_utils.py", line 828, in _connect_addr
    bot-1 | return await __connect_addr(params, True, *args)
    bot-1 | File "/usr/local/lib/python3.10/site-packages/asyncpg/connect_utils.py", line 873, in __connect_addr
    bot-1 | tr, pr = await connector
    bot-1 | File "/usr/local/lib/python3.10/site-packages/asyncpg/connect_utils.py", line 744, in _create_ssl_connection
    bot-1 | tr, pr = await loop.create_connection(
    bot-1 | File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1084, in create_connection
    bot-1 | raise OSError('Multiple exceptions: {}'.format(
    bot-1 | OSError: Multiple exceptions: [Errno 111] Connect call failed ('127.0.0.1', 5432), [Errno 99] Cannot assign requested address
    bot-1 exited with code 1
    ```
    Написано
  • Почему выводит что порт уже занят, при попытке подключить postgres из docker с локальной postgres?

    @Munchen777
    Михаил Васильев, понял. Можно вам еще вопрос задать?
    Запускаю docker-compose . Два контейнера(телеграм бот и база данных postgres). Для начала хочу сначала локально все запустить. Ломается, когда должны создаться таблицы в боте, но до создания таблиц видно сообщение "Starting bot". Имя юзера, базы и пароль поставил свои, тк база уже существует(есть чуть-чуть записей). Пробовал и пользователя postgres и базу postgres вписывать - никак. Вероятно, нужно как-то связать бота внутри контейнера с сервисом базы данных тоже внутри контейнера. Порты пробовал ставить и "5433:5432". Видимо, дело не в мэппинге портов. И также пробовал обычные порты "5432:5432". Если с таким сталкивались, то подскажите, с чем может быть связано.
    ```
    version: '3.5'

    services:
    database:
    image: postgres:16
    environment:
    - POSTGRES_DB=testuser
    - POSTGRES_USER=testuser
    - POSTGRES_PASSWORD= ...
    restart: on-failure
    volumes:
    - data:/var/lib/postgresql/data
    ports:
    - '5432:5432'
    networks:
    - mynetwork

    bot:
    image: trycreateasyncbot
    build: .
    environment:
    - POSTGRES_USER=testuser
    - POSTGRES_PASSWORD= ...
    - POSTGRES_DB=testuser
    depends_on:
    - database
    networks:
    - mynetwork

    volumes:
    data:
    networks:
    mynetwork:
    driver: bridge
    ```
    Написано
  • Почему выводит что порт уже занят, при попытке подключить postgres из docker с локальной postgres?

    @Munchen777
    Михаил, подскажите пожалуйста. Я еще в других источниках видел, что пишут :80 . То есть оставляют пустой порт. Ваше мнение, так хорошо будет , если прописать :5432?
    Написано