Если запустить nginx такой командой docker run nginx
, то nginx не сможет принять ни один запрос, несмотря на то, что внутри контейнера он слушает 80 порт (напомню, что каждый контейнер по умолчанию живёт в своей собственной сети). Но если запустить его так docker run -p 8080:80 nginx
, то nginx начнёт отвечать на порту 8080.
Флаг -p
позволяет описывать, как и какой порт выставить наружу. Формат записи 8080:80
расшифровывается так: пробросить порт 8080 снаружи контейнера в контейнер на порт 80. Причём по умолчанию порт 8080 слушается на 0.0.0.0
, то есть на всех доступных интерфейсах. Поэтому запущенный таким образом контейнер доступен не только через localhost:8080
, но и снаружи машины (если доступ не запрещён как-нибудь ещё). Если нужно выполнить проброс только на loopback, то команда меняется на такую: docker run -p 127.0.0.1:8080:80 nginx
.
Docker позволяет пробрасывать столько портов, сколько нужно. Например, в случае nginx часто требуется использовать и 80
порт и 443
для HTTPS. Сделать это можно так: docker run -p 80:80 -p 443:443 nginx
Про остальные способы пробрасывать порты можно прочитать в официальной документации.
В этой самостоятельной работе вам нужно будет запустить два контейнера. Один контейнер c приложением для управления проектами и задачами под названием Redmine и второй с базой данных PostgreSQL, которую будет использовать Redmine в своей работе. Изучите описание образа Redmine, там приводятся все необходимые команды. Используйте официальный образ c PostgreSQL.
Вам ответят команда поддержки Хекслета или другие студенты.
Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.
Загляните в раздел «Обсуждение»:
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
Зарегистрируйтесь или войдите в свой аккаунт