Способи оплати Abuse

Що таке порти контейнера

10.09.2023, 23:08

Порти контейнера - певні мережеві порти, які можуть бути прив'язані до конкретних служб або додатків усередині контейнера.

У чому особливість контейнерів

Кожен контейнер може мати свої власні порти, які можуть використовуватися для взаємодії із зовнішнім світом або для взаємодії з іншими контейнерами. Під час запуску контейнера можна вказати, які порти мають бути доступні всередині контейнера і які порти мають бути прокинуті на хостову машину.

ports:

external_port:Internal port

Наприклад, прокинемо порт 80 як 8094:

docker-nginx:
  image: nginx
  ports:
    - '8094:80'

Коли контейнер працює, додаток усередині контейнера може слухати або надсилати дані через відповідний порт. Користувачі можуть взаємодіяти з додатком, звертаючись до порту контейнера, який був прокинутий на хостову машину.

Як запустити контейнер

Для запуску портів контейнера вам знадобиться використовувати команду docker run з прапором -p або --publish.

Синтаксис команди docker run з прапором -p виглядає наступним чином:

docker run -p <host port>:<container port> <image_name>

Де:

<host-port> - порт на вашому хості, який буде проксіруватися на порт контейнера.

<container-port> - порт усередині контейнера, який буде доступний через зазначений хост-порт.

<image_name> - ім'я образу контейнера, який ви хочете запустити.

Наприклад, щоб запустити контейнер із веб-сервером на порту 80 і проксірувати його на порт 8080 вашого хоста, ви можете використовувати таку команду:

docker run -p 8080:80 nginx

Тепер веб-сервер, запущений у контейнері, буде доступний через порт 8080 вашого хоста.

Ви також можете використовувати діапазон портів, вказавши кілька пар <хост-порт>:<контейнер-порт>.

Наприклад:

docker run -p 8080-8082:80-82 nginx

Це проксірує порти 80, 81 і 82 всередині контейнера на порти 8080, 8081 і 8082 вашого хоста відповідно. Після запуску контейнера з проксованими портами, ви зможете звертатися до них через зазначені хост-порти.