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