Docker — это известная платформа с открытым исходным кодом, которая часто используется для создания, совместного использования и запуска программного обеспечения и приложений. Он использует различные компоненты для выполнения проектов внутри контейнеров, таких как образы Docker, механизм или демон Docker и клиент Docker. Однако для доступа к внутреннему процессу контейнера требуется сопоставление портов.
В этом посте будут обсуждаться:
- Что такое сопоставление портов Docker?
- Как сопоставить порт в Docker?
- Как сопоставить порт в Docker Compose?
Что такое сопоставление портов Docker?
При выполнении служб или приложений внутри контейнера пользователи обычно хотят получить доступ к приложению или службам во внешнем мире, а не внутри контейнера. Для доступа к процессам или службам контейнера извне в Docker используется процесс сопоставления портов. Сопоставление портов — это процесс, который создает правило брандмауэра, которое сопоставляет открытый порт контейнера с открытым портом хоста Docker, через который исполняемые приложения или службы доступны из хост-системы.
Как сопоставить порт в Docker?
Чтобы сопоставить порт в Docker, используются два варианта публикации порта на хосте; “ –опубликовать» или «-p ». Чтобы сопоставить порт в Docker, следуйте предоставленным инструкциям.
Шаг 1: Создайте Dockerfile
Во-первых, создайте Dockerfile, который будет выполнять простую HTML-программу. index.html ». В приведенном ниже коде:
- “ ОТ Ключ используется для определения базового образа контейнера.
- “ КОПИРОВАТЬ » используется для копирования « index.html » на путь к контейнеру.
- “ ВХОДНАЯ ТОЧКА ” описывают исполняемые файлы контейнеров Docker:
КОПИРОВАТЬ 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, который находится в текущем открытом каталоге.
- “ порты Ключ специально используется для сопоставления порта. Он определяет порт, на который контейнер будет выставлять:
услуги:
веб:
строить: .
порты:
-80:80
Шаг 2. Запустите службу Compose
Далее выполните « докер-компоновать ” для запуска служб на порту сопоставления и внутри контейнера:
docker-compose up -d
Из вывода видно, что мы получили доступ к « сеть ” службы из-за пределов контейнера на хосте:
Это все, что касается сопоставления портов в Docker.
Заключение
Сопоставление портов — это процесс создания правила брандмауэра, которое сопоставляет порт контейнера с открытым портом хоста Docker, через который исполняемые приложения или службы доступны из хост-системы. Чтобы сопоставить порт в Docker, « -p» или «-опубликовать ” используется в “ докер запустить команда. В файле компоновки « порты ” используется для сопоставления порта. Этот пост продемонстрировал, что такое сопоставление портов в Docker и как сопоставить порт.