Файл зависимостей в Docker
Файл requirements.txt описывает зависимости, даже если список пока пуст.
Имя requirements.txt
привычно для Python,
а строки внутри перечисляют
сторонние пакеты с версиями.
Пока файл не содержит
ни одной записи.
HTTP-код не меняется:
порт 8000 и ответ
hello на все запросы.
Содержимое requirements.txt
пока пустое:
Файл app.py рядом
с описанием такой же,
как при сборке образа:
from http.server import BaseHTTPRequestHandler, HTTPServer
class Handler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.end_headers()
self.wfile.write(b'hello')
if __name__ == '__main__':
HTTPServer(('0.0.0.0', 8000), Handler).serve_forever()
Dockerfile пока копирует
только скрипт, без установки
пакетов.
Сборка и порты в описании
проекта не меняются:
FROM python:3.14
WORKDIR /app
COPY app.py .
CMD ["python", "app.py"]
Сервис app собирается
из папки и публикует пару
портов 8080 и 8000.
Файл compose.yaml:
services:
app:
build: .
ports:
- "8080:8000"
Выполним подъём с пересборкой и проверим,
что образ отдаёт hello
на localhost:8080:
docker compose up -d --build
Добавьте пустой requirements.txt к сервису note и задайте ответ note в app.py.
Соберите образ и откройте страницу на опубликованном порту.