Учебники

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 запущен и работает.