Какво е картографиране на портове в Docker?

Kakvo E Kartografirane Na Portove V Docker



Docker е добре позната платформа с отворен код, която често се използва за създаване, споделяне и стартиране на софтуер и приложения. Той използва различни компоненти за изпълнение на проектите вътре в контейнерите, като Docker изображения, Docker двигател или демон и Docker клиент. Въпреки това, за достъп до вътрешния процес на контейнера е необходимо картографиране на портове.

Тази публикация ще обсъди:







Какво е Docker Port Mapping?

Докато изпълняват услугите или приложенията вътре в контейнера, потребителите обикновено искат достъп до приложението или услугите до външния свят, а не вътре в контейнера. За достъп до процесите или услугите на контейнера отвън, процесът на картографиране на портове се използва в Docker. Картографирането на портове е процес, който създава правилото на защитната стена, което картографира отворения порт на контейнера към отворения порт на хоста Docker, чрез който изпълняваните приложения или услуги са достъпни от хост системата.



Как да картографирате порт в Docker?

За картографиране на порт в Docker се използват две опции за публикуване на порта на хоста; “ –публикувай“ или „-p ”. За да картографирате порт в Docker, следвайте предоставените инструкции.



Стъпка 1: Направете Dockerfile

Първо, създайте Dockerfile, който ще изпълни простата HTML програма “ index.html ”. В кода по-долу:





  • ОТ ” се използва за определяне на основното изображение на контейнера.
  • КОПИЕ ” изразът се използва за копиране на „ index.html ” към пътя на контейнера.
  • ВХОДНА ТОЧКА ” описват изпълнимите файлове на контейнерите на Docker:
ОТ nginx: най-новото
КОПИРАЙТЕ index1.html /usr/share/nginx/html/index.html
ВХОДНА ТОЧКА ['nginx', '-g', 'daemon изключен;']

Стъпка 2: Създайте изображение в Docker

След това създайте новото изображение, като използвате споменатата команда:

docker build -t html.



Стъпка 3: Създайте и картографирайте контейнера на хоста

След това създайте и картографирайте контейнера на хоста чрез „ докер изпълнение ” команда. Тук „ -стр ' опцията всъщност се използва за картографиране на контейнера на локален хост порт ' 80 ”:

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

След това избройте всички контейнери и проверете дали портът е картографиран или не:

докер ps -a

Стъпка 4: Проверка

След това проверете дали „ index.html ” програмата, която се изпълнява вътре в контейнера, е достъпна на хоста или не. За тази цел навигирайте до „ http://localhost:80 ” URL в браузъра:

Как да картографирате порт в Docker Compose?

За да картографирате порта в Docker Compose за достъп до услугите за композиране извън контейнера на Docker, следвайте изброените стъпки.

Стъпка 1: Направете файл „docker-compose.yml“.

Първо създайте „ docker-compose.yml ” и поставете следните инструкции:

  • услуги ” дефинира услугата за композиране. Например „ уеб ” се създава услуга:
  • изграждане ” се използва за достъп до контекста на компилация. В кода по-долу „ . ” означава, че използваме Dockerfile, който е поставен в текущо отворената директория.
  • пристанища ” се използва специално за картографиране на порта. Той определя порта, където контейнерът ще изложи:
версия: '3'
услуги:
уеб:
изграждане: .
портове:
-80:80

Стъпка 2: Изпълнете услугата Compose

След това изпълнете „ докер-съставяне ” за стартиране на услугите на порта за картографиране и вътре в контейнера:

докер-съставяне -d

От изхода можете да видите, че имаме достъп до „ уеб ” услуги извън контейнера на хоста:

Това е всичко относно картографирането на портове в Docker.

Заключение

Картографирането на портове е процес на създаване на правилото на защитната стена, което картографира порта на контейнера към отворения порт на хоста Docker, чрез който изпълняваните приложения или услуги са достъпни от хост системата. За да картографирате порта в Docker, „ -p” или “–publish ” опцията се използва в „ докер изпълнение ” команда. Във файла за композиране „ пристанища ” се използва за картографиране на порта. Тази публикация демонстрира какво е картографиране на портове в Docker и как да картографирате порта.