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

Сборка образа в Docker

Сборка образа копирует скрипт и задаёт команду запуска в exec-форме. Файл app.py попадает в слой образа на этапе docker build и живёт вместе с python:3.14. Том для кода с диска больше не нужен.

Файл app.py слушает 0.0.0.0 на порту 8000 и отдаёт hello:

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 задаёт каталог, копирование и команду старта. Для копирования берут COPY, а не ADD. Содержимое файла такое:

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

Сервис app собирается из текущей папки, без готового имени образа в строке image. На компьютере порт 8080 ведёт к порту 8000 внутри копии. Файл compose.yaml:

services: app: build: . ports: - "8080:8000"

Подъём в фоне сам вызовет сборку, затем создаст контейнер из свежего шаблона. Страница по адресу localhost:8080 покажет слово hello. Выполним запуск проекта:

docker compose up -d --build

Соберите сервис note из Dockerfile на python:3.14 с ответом note и парой портов 8082 на хосте и 8000 в контейнере.

Проверьте текст страницы по localhost:8082.

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