РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcRdApRc 12 of 13 menu
◀ ▶

Клиент в приложении в Docker

Клиентская библиотека redis ставится в образ приложения и открывает соединение по этому адресу. Пакет на PyPI называется redis, его ставят через pip install на этапе сборки. Пароль совпадает с параметром сервиса db и равен demo.

Список зависимостей лежит в requirements.txt:

redis

Сначала копируют файл зависимостей, выполняют установку, затем кладут app.py. Для копирования берут COPY, а не ADD. Содержимое Dockerfile:

FROM python:3.14 WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY app.py . CMD ["python", "app.py"]

Скрипт читает адрес из окружения и проверяет связь командой ping клиента:

import os import redis host = os.environ["REDIS_HOST"] port = int(os.environ["REDIS_PORT"]) client = redis.Redis( host=host, port=port, password="demo", ) print(client.ping())

Описание проекта не меняет сервер db и переменные у app. Файл compose.yaml:

services: db: image: redis:8 command: ["--requirepass", "demo"] volumes: - dbdata:/data app: build: . environment: REDIS_HOST: db REDIS_PORT: "6379" volumes: dbdata:

Успешный ответ печатает True. Выполним пересборку и запуск:

docker compose up -d --build

Добавьте в шаблон сервиса note установку пакета redis по requirements.txt и проверку связи с сервером db.

Пересоберите проект и отметьте в логах сервиса note положительный ответ проверки связи.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить