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

Приложение рядом в Docker

Приложение рядом слушает порт 8000 во внутренней сети и не публикует его на компьютер. Соседний контейнер или тот же сервис изнутри может обратиться по имени app, а браузер на хосте к этому порту напрямую не подключится.

Каталог app содержит главную страницу со словом hello:

<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>page</title> </head> <body> hello </body> </html>

Сервис app берёт образ python:3.14, монтирует папку в /app и запускает встроенный модуль http.server с привязкой 0.0.0.0 на 8000. Файл compose.yaml без ключа ports у приложения:

services: app: image: python:3.14 volumes: - "$PWD/app:/app" working_dir: /app command: ["python", "-m", "http.server", "8000", "--bind", "0.0.0.0"]

После подъёма в фоне проверим ответ изнутри той же копии, куда браузер с компьютера пока не дойдёт. Запуск проекта:

docker compose up -d

Запрос к локальному адресу внутри сервиса вернёт разметку со словом hello:

docker compose exec app python -c "import urllib.request; print(urllib.request.urlopen('http://127.0.0.1:8000/').read().decode())"

Опишите сервис land на python:3.14 с каталогом app и ответом land на порту 8000 без публикации портов на хост.

Убедитесь изнутри контейнера, что на 8000 отдаётся ваш текст.

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