Docker создает сценарии Python, ошибка базы данных postgresql psycopg2.OperationalError: не удалось преобразовать имя хо ⇐ Python
-
Anonymous
Docker создает сценарии Python, ошибка базы данных postgresql psycopg2.OperationalError: не удалось преобразовать имя хо
Dockerfile скриптов Python
ИЗ python:3.11-slim # Устанавливаем рабочий каталог в контейнере ARG FUNCTION_DIR=/приложение РАБОЧИЙ КАТАЛО ${FUNCTION_DIR} #требования и зависимости ВЫПОЛНИТЬ apt-get update && apt-get install -y postgresql-server-dev-all gcc python3-dev musl-dev g++ make КОПИРОВАТЬ требования.txt ${FUNCTION_DIR} RUN --mount=type=cache,target=/root/.cache/pip pip install -r требования.txt RUN python3 -m spacy скачать en_core_web_trf # Скопируйте содержимое текущего каталога в контейнер /app КОПИЯ /перегонный куб ${FUNCTION_DIR}/перегонный куб КОПИЯ /приложение ${FUNCTION_DIR}/приложение КОПИЯ /config ${FUNCTION_DIR}/config КОПИЯ /docker ${FUNCTION_DIR}/docker КОПИЯ /erd ${FUNCTION_DIR}/erd КОПИЯ /блокноты ${FUNCTION_DIR}/ноутбуки КОПИЯ /sample_data ${FUNCTION_DIR}/sample_data КОПИЯ /скрипты ${FUNCTION_DIR}/скрипты КОПИЯ /шаблоны ${FUNCTION_DIR}/шаблоны КОПИЯ /тесты ${FUNCTION_DIR}/тесты КОПИЯ /web_apps ${FUNCTION_DIR}/web_apps КОПИРОВАТЬ .env ${FUNCTION_DIR} В контейнере Python не работает сервер, а есть несколько сценариев для выполнения.
docker-compose.yml
версия: '3.5' услуги: qдрант: изображение: qdrant/qdrant:latest объемы: - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/qdrant:/qdrant/storage порты: - "6333:6333" сети: - моя сеть постгрес: имя_контейнера: postgres изображение: postgres:последний среда: POSTGRES_HOST: постгрес POSTGRES_USER: постгрес POSTGRES_PASSWORD: postgres POSTGRES_DB: постгрес объемы: - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/postgres:/var/lib/postgresql/data порты: - "5432:5432" сети: - моя сеть приложение: имя_контейнера: приложение-адвокация строить: контекст: .. файл докер: приложение/Dockerfile зависит от: - qдрант - постгрес сети: - моя сеть сети: моя сеть: водитель: мост config.yaml
postgres: хост: постгрес порт: 5432 пользователь: postgres пароль: постгрес база данных: сокол database_con.py
из пула импорта psycopg2 класс База данныхПул: _экземпляр = Нет _пул = Нет защита __new__(cls, конфигурация): если cls._instance имеет значение Нет: cls._instance = super(DatabasePool, cls).__new__(cls) cls._pool = пул.SimpleConnectionPool(1, 20, пользователь=конфигурация['postgres']['пользователь'], пароль=конфигурация['postgres']['пароль'], хост=config['postgres']['хост'], порт=config['postgres']['порт'], база данных=config['postgres']['база данных']) вернуть cls._instance @classmethod защита get_connection (cls): вернуть cls._pool.getconn() @classmethod защита put_connection (cls, conn): cls._pool.putconn(подключение) каждый раз, когда я пытаюсь запустить контейнер приложения с помощью
docker run advocacy python3 app/pipeline.py
выдает ошибку
psycopg2.OperationalError: не удалось преобразовать имя хоста «postgres» в адрес
Dockerfile скриптов Python
ИЗ python:3.11-slim # Устанавливаем рабочий каталог в контейнере ARG FUNCTION_DIR=/приложение РАБОЧИЙ КАТАЛО ${FUNCTION_DIR} #требования и зависимости ВЫПОЛНИТЬ apt-get update && apt-get install -y postgresql-server-dev-all gcc python3-dev musl-dev g++ make КОПИРОВАТЬ требования.txt ${FUNCTION_DIR} RUN --mount=type=cache,target=/root/.cache/pip pip install -r требования.txt RUN python3 -m spacy скачать en_core_web_trf # Скопируйте содержимое текущего каталога в контейнер /app КОПИЯ /перегонный куб ${FUNCTION_DIR}/перегонный куб КОПИЯ /приложение ${FUNCTION_DIR}/приложение КОПИЯ /config ${FUNCTION_DIR}/config КОПИЯ /docker ${FUNCTION_DIR}/docker КОПИЯ /erd ${FUNCTION_DIR}/erd КОПИЯ /блокноты ${FUNCTION_DIR}/ноутбуки КОПИЯ /sample_data ${FUNCTION_DIR}/sample_data КОПИЯ /скрипты ${FUNCTION_DIR}/скрипты КОПИЯ /шаблоны ${FUNCTION_DIR}/шаблоны КОПИЯ /тесты ${FUNCTION_DIR}/тесты КОПИЯ /web_apps ${FUNCTION_DIR}/web_apps КОПИРОВАТЬ .env ${FUNCTION_DIR} В контейнере Python не работает сервер, а есть несколько сценариев для выполнения.
docker-compose.yml
версия: '3.5' услуги: qдрант: изображение: qdrant/qdrant:latest объемы: - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/qdrant:/qdrant/storage порты: - "6333:6333" сети: - моя сеть постгрес: имя_контейнера: postgres изображение: postgres:последний среда: POSTGRES_HOST: постгрес POSTGRES_USER: постгрес POSTGRES_PASSWORD: postgres POSTGRES_DB: постгрес объемы: - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/postgres:/var/lib/postgresql/data порты: - "5432:5432" сети: - моя сеть приложение: имя_контейнера: приложение-адвокация строить: контекст: .. файл докер: приложение/Dockerfile зависит от: - qдрант - постгрес сети: - моя сеть сети: моя сеть: водитель: мост config.yaml
postgres: хост: постгрес порт: 5432 пользователь: postgres пароль: постгрес база данных: сокол database_con.py
из пула импорта psycopg2 класс База данныхПул: _экземпляр = Нет _пул = Нет защита __new__(cls, конфигурация): если cls._instance имеет значение Нет: cls._instance = super(DatabasePool, cls).__new__(cls) cls._pool = пул.SimpleConnectionPool(1, 20, пользователь=конфигурация['postgres']['пользователь'], пароль=конфигурация['postgres']['пароль'], хост=config['postgres']['хост'], порт=config['postgres']['порт'], база данных=config['postgres']['база данных']) вернуть cls._instance @classmethod защита get_connection (cls): вернуть cls._pool.getconn() @classmethod защита put_connection (cls, conn): cls._pool.putconn(подключение) каждый раз, когда я пытаюсь запустить контейнер приложения с помощью
docker run advocacy python3 app/pipeline.py
выдает ошибку
psycopg2.OperationalError: не удалось преобразовать имя хоста «postgres» в адрес
Мобильная версия