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

Код на хосте в Docker

Правка файла на хосте сразу видна в контейнере, потому что каталог проекта смонтирован в /app. Том связывает папку на диске с рабочим каталогом внутри копии на python:3.14. Образ готовый, сборка не нужна.

Файл app/page.txt хранит слово hello. Скрипт app/app.py слушает 0.0.0.0 на порту 8000 и на каждый запрос читает этот файл заново:

hello

Обработчик открывает page.txt при запросе, а не держит слово в памяти процесса:

from http.server import BaseHTTPRequestHandler, HTTPServer class Handler(BaseHTTPRequestHandler): def do_GET(self): self.send_response(200) self.end_headers() with open('page.txt', 'rb') as page: self.wfile.write(page.read()) if __name__ == '__main__': HTTPServer(('0.0.0.0', 8000), Handler).serve_forever()

Запись тома использует переменную текущего каталога в кавычках, чтобы путь не ломался при пробелах в имени папки. Слева - $PWD/app, справа - /app. Сервис app публикует порты 8080 и 8000, запуск идёт через python и app.py. Файл compose.yaml:

services: app: image: python:3.14 ports: - "8080:8000" volumes: - "$PWD/app:/app" working_dir: /app command: ["python", "app.py"]

После подъёма в фоне адрес localhost:8080 покажет hello. Правка app/page.txt достаточна для нового текста после обновления страницы. Текст самого скрипта процесс уже прочитал при старте. Выполним запуск проекта:

docker compose up -d

Опишите сервис note на python:3.14 с томом $PWD/app:/app и ответом note на порту 8080.

Измените слово в смонтированном page.txt и обновите страницу в браузере.

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