Linux Labs

Контейнеры: Docker и compose / Ступень 8 из 11

docker compose: стек одним файлом

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 1 из 7 · на машине · 5 мин

Сайт отвечает 502

Чему научишься

  • Читать compose.yaml и находить в нём контейнер, окружение, порты и тома сервиса.
  • Находить упавший сервис стека по docker compose ps и причину — по его журналу.
  • Применять правку стека нужной командой — up -d или restart — и проверять здоровье сервисов.

Коллега перенёс сайт в docker compose: два контейнера описаны в одном файле ~/stack/compose.yaml. Веб-сервер proxy принимает запросы на порту 8080 и передаёт их приложению backend. Коллега поднял стек командой docker compose up -d, ошибок она не напечатала, а сайт не открывается.

Посмотри сам. «Начать» поднимет стек так, как его оставил коллега.

Упражнение · посмотреть

Открой сайт стека

Стек в ~/stack поднят. Открой сайт на порту 8080 и посмотри состояние сервисов.

Сначала предположи

docker compose up -d запустил оба контейнера без ошибок. Что будет в первой строке ответа curl -i?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа
Проверь себя 1 вопрос

Что значит (1) в статусе Restarting (1) у backend?

  • Номер копии стоит в имени stack-backend-1. В скобках статуса — код завершения последнего запуска.

  • Копия у сервиса одна — stack-backend-1 в sudo docker compose ps. В скобках — код завершения.

  • Число перезапусков статус не пишет — его показывает sudo docker inspect -f '{{.RestartCount}}' stack-backend-1. В скобках — код завершения, как у Exited (1).

(1) — код завершения последнего запуска backend: процесс завершился с ошибкой, и политика перезапуска запускает его снова.

Ubuntu 24.04
Загрузка…