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

Адрес сервера в Docker

Адрес сервера - имя сервиса db и порт 6379, его кладут в переменную окружения. Внутри сети проекта имя db указывает на копию сервера, а порт 6379 совпадает с портом по умолчанию у Redis. Скрипт читает значения из окружения, а не зашивает адрес в код.

Файл app.py печатает пару для проверки связки:

import os host = os.environ["REDIS_HOST"] port = os.environ["REDIS_PORT"] print(host, port)

Образ копирует скрипт и запускает его в exec-форме. Шаги Dockerfile такие:

FROM python:3.14 WORKDIR /app COPY app.py . CMD ["python", "app.py"]

Сервис app получает блок environment с именем хоста и номером порта. Сервер db без изменений. Файл compose.yaml:

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

После пересборки в логах приложения должны появиться строки db и 6379. Выполним запуск с пересборкой:

docker compose up -d --build

Переименуйте сервис приложения в note и задайте для него те же переменные окружения с именем db и портом 6379.

Пересоберите проект и отметьте в логах сервиса note совпадение пары адреса с учебным сервером.

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