Докер - инструкция EXPOSE

Опубликовано: 2 Марта, 2022

Инструкция EXPOSE предоставляет определенный порт с указанным протоколом внутри контейнера Docker. Проще говоря, инструкция EXPOSE сообщает Docker о необходимости получения всей необходимой информации во время выполнения с указанного порта. Эти порты могут быть TCP или UDP, но по умолчанию это TCP. Также важно понимать, что инструкция EXPOSE действует только как информационная платформа (например, документация) между создателем образа Docker и лицом, запускающим Контейнер. Следует отметить следующие моменты:

  • Он может использовать протокол TCP или UDP для открытия порта.
  • Протокол по умолчанию - TCP, если не указан другой протокол.
  • Он не отображает порты на хост-машине.
  • Его можно переопределить с помощью флага публикации ( -p ) при запуске контейнера.

Синтаксис EXPOSE портов путем указания протокола:

 Синтаксис: EXPOSE <порт> / <протокол>

В этой статье мы собираемся обсудить некоторые практические примеры того, как использовать инструкцию EXPOSE в вашем Dockerfile и переопределить ее с помощью флага публикации при запуске контейнера Docker.

Выполните следующие шаги, чтобы реализовать инструкцию EXPOSE в контейнере докера:

Шаг 1. Создайте файл Docker с помощью инструкции EXPOSE.

Давайте создадим Dockerfile с двумя инструкциями EXPOSE, одна с протоколом TCP, а другая с протоколом UDP.

FROM ubuntu:latest
EXPOSE 80/tcp
EXPOSE 80/udp

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

Чтобы создать образ Docker с помощью указанного выше файла Docker, вы можете использовать команду Docker Build.

 sudo docker build -t выставить-демо.

Шаг 3. Запуск контейнера Docker

Чтобы запустить контейнер Docker, вы можете использовать команду Docker run.

 sudo docker run -it expose-demo bash

Шаг 4: проверьте порты

Чтобы проверить открытые порты, вы можете использовать команду Docker inspect.

 sudo docker image осмотреть --format = '' expose-demo 

На приведенном выше снимке экрана вы можете видеть, что объект ExposedPorts содержит два открытых порта, которые мы указали в файле Dockerfile .

Шаг 5. Публикация портов

Чтобы опубликовать все открытые порты, вы можете использовать флаг -p.

 sudo docker run -P -d expose-demo

Шаг 6. Проверка опубликованных портов

Вы можете просто проверять опубликованные порты списком контейнеров, используя следующую команду. Но убедитесь, что Контейнер запущен.

 sudo docker start <идентификатор-контейнера>
sudo docker контейнер ls

В заключение, в этой статье мы обсудили, как использовать инструкцию EXPOSE внутри Dockerfile, чтобы открывать порты контейнера с использованием указанного протокола и использовать флаг -p для публикации портов.