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


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