Что такое сопоставление портов в Docker?

Cto Takoe Sopostavlenie Portov V Docker



Docker — это известная платформа с открытым исходным кодом, которая часто используется для создания, совместного использования и запуска программного обеспечения и приложений. Он использует различные компоненты для выполнения проектов внутри контейнеров, таких как образы Docker, механизм или демон Docker и клиент Docker. Однако для доступа к внутреннему процессу контейнера требуется сопоставление портов.

В этом посте будут обсуждаться:







Что такое сопоставление портов Docker?

При выполнении служб или приложений внутри контейнера пользователи обычно хотят получить доступ к приложению или службам во внешнем мире, а не внутри контейнера. Для доступа к процессам или службам контейнера извне в Docker используется процесс сопоставления портов. Сопоставление портов — это процесс, который создает правило брандмауэра, которое сопоставляет открытый порт контейнера с открытым портом хоста Docker, через который исполняемые приложения или службы доступны из хост-системы.



Как сопоставить порт в Docker?

Чтобы сопоставить порт в Docker, используются два варианта публикации порта на хосте; “ –опубликовать» или «-p ». Чтобы сопоставить порт в Docker, следуйте предоставленным инструкциям.



Шаг 1: Создайте Dockerfile

Во-первых, создайте Dockerfile, который будет выполнять простую HTML-программу. index.html ». В приведенном ниже коде:





  • ОТ Ключ используется для определения базового образа контейнера.
  • КОПИРОВАТЬ » используется для копирования « index.html » на путь к контейнеру.
  • ВХОДНАЯ ТОЧКА ” описывают исполняемые файлы контейнеров Docker:
ОТ nginx: последняя
КОПИРОВАТЬ index1.html /usr/share/nginx/html/index.html
ENTRYPOINT ['nginx', '-g', 'демон выключен;']

Шаг 2: Создайте образ в Docker

Затем создайте новый образ с помощью указанной команды:

сборка докеров -t html.



Шаг 3: Создайте и сопоставьте контейнер на хосте

Затем создайте и сопоставьте контейнер на хосте через « докер запустить команда. Здесь « -п Опция фактически используется для сопоставления контейнера с портом локального хоста. 80 ”:

docker run -p 80:80 --name html-cont html

Затем перечислите все контейнеры и проверьте, сопоставлен ли порт или нет:

докер пс-а

Шаг 4: Проверка

Затем убедитесь, что « index.html программа, которая выполняется внутри контейнера, доступна на хосте или нет. Для этого перейдите в раздел « http://localhost:80 URL в браузере:

Как сопоставить порт в Docker Compose?

Чтобы сопоставить порт в Docker Compose для доступа к службам компоновки из-за пределов контейнера Docker, выполните перечисленные шаги.

Шаг 1. Создайте файл «docker-compose.yml»

Сначала создайте « докер-compose.yml » и вставьте следующие инструкции:

  • услуги Ключ определяет составной сервис. Например, « сеть Сервис создан:
  • строить ” используется для доступа к контексту сборки. В приведенном ниже коде « . ” означает, что мы используем Dockerfile, который находится в текущем открытом каталоге.
  • порты Ключ специально используется для сопоставления порта. Он определяет порт, на который контейнер будет выставлять:
версия: '3'
услуги:
веб:
строить: .
порты:
-80:80

Шаг 2. Запустите службу Compose

Далее выполните « докер-компоновать ” для запуска служб на порту сопоставления и внутри контейнера:

docker-compose up -d

Из вывода видно, что мы получили доступ к « сеть ” службы из-за пределов контейнера на хосте:

Это все, что касается сопоставления портов в Docker.

Заключение

Сопоставление портов — это процесс создания правила брандмауэра, которое сопоставляет порт контейнера с открытым портом хоста Docker, через который исполняемые приложения или службы доступны из хост-системы. Чтобы сопоставить порт в Docker, « -p» или «-опубликовать ” используется в “ докер запустить команда. В файле компоновки « порты ” используется для сопоставления порта. Этот пост продемонстрировал, что такое сопоставление портов в Docker и как сопоставить порт.