Linux Labs

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

Порты, переменные и перезапуск

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

Шаг 7 из 8 · лаба · 20 минсредняя

Служба из контейнера

Новую версию страницы статуса прислали образом Docker. Запусти её контейнером вместо старой службы так, чтобы страница пережила перезапуск docker и перезагрузку машины.

Ситуация

Страницу статуса команды на этой машине отдаёт служба status-legacy — на порту 8080, версия 0.9. Новую версию разработчики прислали образом Docker status-page:1.0: внутри httpd из busybox и сама страница. Образ уже загружен, теперь страницу нужно перевести в контейнер.

Команды docker запускай через sudo: у пользователя student нет прямого доступа к Docker. Интернета на машине нет.

Задача

  1. Контейнер status из образа status-page:1.0 работает и не перезапускается.
  2. curl http://localhost:8080/ получает от контейнера status новую страницу — status-page 1.0.
  3. После перезагрузки машины порт 8080 снова у контейнера status: Docker стартует при загрузке, а старая служба — нет.
  4. Политика перезапуска status — unless-stopped: если дежурный остановит контейнер руками, он не поднимется сам. Страница отвечает и после sudo systemctl restart docker — проверка перезапустит docker сама.

Лаба · самостоятельно

Команды в этой лабе не даны: набирай их в терминале сам. Цели проверяются на машине после каждой команды.

Цели

0 из 4
  • Контейнер status из образа status-page:1.0 работает и не перезапускается — ещё не выполнена
  • http://localhost:8080/ отдаёт страницу status-page 1.0 из контейнера status — ещё не выполнена
  • После перезагрузки машины порт 8080 займёт контейнер — docker стартует при загрузке, status-legacy нет — ещё не выполнена
  • Политика перезапуска status — unless-stopped, страница отвечает и после перезапуска docker — ещё не выполнена
Ctrl+Enter
Запустит машину node1 · Ubuntu 24.04

Машина запускается

Подсказки

0 из 3

Цели лабы

0 из 4
  • Контейнер status из образа status-page:1.0 работает и не перезапускается — ещё не выполнена
  • http://localhost:8080/ отдаёт страницу status-page 1.0 из контейнера status — ещё не выполнена
  • После перезагрузки машины порт 8080 займёт контейнер — docker стартует при загрузке, status-legacy нет — ещё не выполнена
  • Политика перезапуска status — unless-stopped, страница отвечает и после перезапуска docker — ещё не выполнена
node1 Ubuntu 24.04

Цели лабы

0 из 4
  • Контейнер status из образа status-page:1.0 работает и не перезапускается — ещё не выполнена
  • http://localhost:8080/ отдаёт страницу status-page 1.0 из контейнера status — ещё не выполнена
  • После перезагрузки машины порт 8080 займёт контейнер — docker стартует при загрузке, status-legacy нет — ещё не выполнена
  • Политика перезапуска status — unless-stopped, страница отвечает и после перезапуска docker — ещё не выполнена
Загрузка…