Объявление порта в Docker
Объявление порта записывает в образ номер, который программа слушает, и не открывает его на компьютере. Это подсказка для людей и для других команд, какой внутренний порт ожидать у копии. Сам по себе сайт снаружи от этого не появится.
Основа - nginx.
Строка EXPOSE 80
фиксирует порт веб-сервера
в метаданных шаблона.
Программа внутри по-прежнему
слушает 80, как в образе
по умолчанию.
Файл шагов для образа
shown такой:
FROM nginx
EXPOSE 80
После сборки с меткой
-t shown . запуск
без публикации порта
не откроет localhost
на компьютере.
Страница останется доступна
только внутри сети контейнера.
Выполним сборку:
docker build -t shown .
Такой старт поднимет сайт, но с хоста к порту не подключиться. Адрес в браузере не ответит, пока не задать связку снаружи. Проверим запуск без вывода порта:
docker run -d --name shown shown
Чтобы страница открылась
на компьютере, нужен флаг
публикации при запуске.
Свяжем 8080 снаружи
с 80 внутри через
флаг -p.
Откроем сайт с публикацией так:
docker run -d --name shown-web -p 8080:80 shown
Соберите образ gate от nginx с объявленным портом 80 и запустите без вывода порта наружу.
Напишите, откроется ли страница на компьютере.