Учебники

Docker — Управление портами

В Docker сами контейнеры могут иметь приложения, работающие на портах. Когда вы запускаете контейнер, если вы хотите получить доступ к приложению в контейнере через номер порта, вам необходимо сопоставить номер порта контейнера с номером порта хоста Docker. Давайте посмотрим на пример того, как этого можно достичь.

В нашем примере мы собираемся загрузить контейнер Jenkins из Docker Hub. Затем мы сопоставим номер порта Jenkins с номером порта на хосте Docker.

Шаг 1 — Во-первых, вам нужно выполнить простую регистрацию в Docker Hub.

просто подписаться

Шаг 2 — Как только вы зарегистрируетесь, вы войдете в Docker Hub.

Зарегистрированный Docker Hub

Шаг 3 — Далее, давайте посмотрим и найдем изображение Дженкинса.

Команда запуска

Шаг 4 — Если вы прокрутите вниз на той же странице, вы увидите команду Docker pull . Это будет использоваться для загрузки образа Jenkins на локальный сервер Ubuntu.

Локальный сервер Ubuntu

Шаг 5 — Теперь перейдите на сервер Ubuntu и выполните команду —

sudo docker pull jenkins 

Проверьте изображение

Шаг 6 — Чтобы понять, какие порты открываются контейнером, вы должны использовать команду Docker inspect для проверки образа.

Давайте теперь узнаем больше об этой команде осмотра .

докер проверяет

Этот метод позволяет возвращать низкоуровневую информацию о контейнере или изображении.

Синтаксис

docker inspect Container/Image 

Опции

  • Контейнер / Изображение — Контейнер или изображение для проверки

Контейнер / Изображение — Контейнер или изображение для проверки

Возвращаемое значение

Низкоуровневая информация об изображении или контейнере в формате JSON.

пример

sudo docker inspect jenkins 

Выход

Докер проверяет вывод

Вывод команды inspect дает вывод JSON. Если мы наблюдаем вывод, мы видим, что есть раздел «ExposedPorts» и видим, что упоминаются два порта. Один — это порт данных 8080, а другой — порт управления 50000.

Чтобы запустить Jenkins и отобразить порты, вам нужно изменить команду запуска Docker и добавить опцию «p», которая определяет отображение портов. Итак, вам нужно выполнить следующую команду —

sudo docker run -p 8080:8080 -p 50000:50000 jenkins 

Левая часть сопоставления номеров портов — это порт хоста Docker для сопоставления, а правая часть — номер порта контейнера Docker.

Когда вы откроете браузер и перейдете к хосту Docker через порт 8080, вы увидите, что Jenkins запущен и работает.