Linux Labs

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

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

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

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

Контейнер работает, а сайт молчит

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

  • Публиковать порт контейнера на порту сервера и проверять публикацию.
  • Передавать контейнеру переменные окружения и смотреть, что получил процесс.
  • Выбирать политику перезапуска под поведение после сбоя, docker stop и перезапуска службы docker.

Сайт компании перенесли в контейнер site из образа nginx:alpine — это веб-сервер nginx на Alpine Linux. Открываться сайт должен на порту 8080 сервера: порт 80 занят другим веб-сервером. Команды docker здесь тоже идут через sudo.

Проверь, работает ли контейнер, и открой сайт. «Начать» запустит site так, как его запустил коллега.

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

Открой сайт из контейнера

Проверь, работает ли контейнер site, потом открой сайт на порту 8080 сервера.

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

Контейнер site работает. Что напечатает curl?

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

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

site в docker ps — Up, а curl на порт 8080 сервера получил Couldn't connect to server. Что из этого верно?

  • docker ps показывает site со статусом Up: главный процесс контейнера работает.

  • HTTP-ответа не было: (7) Couldn't connect to server значит, что соединение не открылось.

  • Отброшенное подключение curl ждал бы до тайм-аута, а отказ пришёл за пару миллисекунд — так отвечает порт, который никто не слушает.

Контейнер работает, а на порту 8080 сервера подключения никто не принимает.

Ubuntu 24.04
Загрузка…