В Docker сами контейнеры могут иметь приложения, работающие на портах. Когда вы запускаете контейнер, если вы хотите получить доступ к приложению в контейнере через номер порта, вам необходимо сопоставить номер порта контейнера с номером порта хоста Docker. Давайте посмотрим на пример того, как этого можно достичь.
В нашем примере мы собираемся загрузить контейнер Jenkins из Docker Hub. Затем мы сопоставим номер порта Jenkins с номером порта на хосте Docker.
Шаг 1 — Во-первых, вам нужно выполнить простую регистрацию в Docker Hub.
Шаг 2 — Как только вы зарегистрируетесь, вы войдете в Docker Hub.
Шаг 3 — Далее, давайте посмотрим и найдем изображение Дженкинса.
Шаг 4 — Если вы прокрутите вниз на той же странице, вы увидите команду Docker pull . Это будет использоваться для загрузки образа Jenkins на локальный сервер 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 запущен и работает.