Прослеђивање портова у Доцкер-у је процес који нам омогућава да изложимо порт контејнера на Доцкер хост систему. Омогућава нам да покренемо апликацију у изолованом окружењу и такође јој учинимо доступном изван контејнера на корисничкој машини.
Овај пост ће показати:
- Како проследити порт у Доцкер-у помоћу ознаке „-п“ или „–публисх“.
- Како проследити порт у Доцкер-у користећи Доцкер Цомпосе
- Како проследити порт на одређену мрежу
- Закључак
Како проследити порт у Доцкер-у помоћу ознаке „-п“ или „–публисх“.
Да би проследио порт у Доцкер-у, корисник треба да објави порт контејнера на Доцкер хосту. У ту сврху, покрените контејнер на доцкер хосту користећи „ -п ” или “ – објавити ” ознака у “ доцкер рун ” команда.
За исправну демонстрацију, пратите упутства у наставку.
Корак 1: Направите Доцкерфиле
Прво креирајте датотеку и поставите њено име као „ Доцкерфиле ”. Ова датотека садржи текстуална упутства за креирање шаблона Доцкер контејнера. На пример, хајде да докеризујемо једноставан Голанг програм користећи доњи исечак у Доцкерфиле-у:
ИЗ голанга: 1.8
ВОРКДИР / иди / срц / апликација
ЦОПИ маин2.го .
РУН иди гради -О веб сервер .
ЕКСПОСЕ 8080
ЦМД [ './веб сервер' ]
У датом исечку:
- “ ИЗ ” команда се користи за постављање основне слике.
- “ ВОРКДИР ” дефинише радни директоријум контејнера.
- “ ЦОПИ ” команда ће креирати копију програмске датотеке на путањи наведеној у контејнеру.
- “ ТРЦАТИ ” команда ће извршити наведену команду у контејнеру.
- “ ЕКСПОСЕ ” команда одређује порт на којем ће се контејнер слушати.
- “ ЦМД ” специфицира извршне тачке контејнера.
Корак 2: Креирајте Голанг програм
Затим креирајте другу датотеку под називом „ маин2.го ” и налепите доле наведени Голанг програм који штампа једноставан стринг на порту “ 8080 ”:
пакет главни
увоз (
'фмт'
'Пријава'
'нет/хттп'
)
фунц хандлер ( Ин хттп.РеспонсеВритер, р * хттп.Рекуест ) {
хтмл := `
ДОЦТИПЕ хтмл >
< хтмл >
< глава >
< наслов > Здраво Голанг ! наслов >
< стил >
тело {
боја позадине: #Д2Б48Ц;
}
.контејнер {
тект-алигн: центар;
паддинг: 50пк;
}
стил >
глава >
< тело >
< див класа = 'контејнер' >
< х1 > Здраво ! Добродошли у водич за ЛинукХинт х1 >
див >
тело >
хтмл >`
в.Хеадер ( ) .Комплет ( 'Тип садржаја' , 'текст/хтмл' )
фмт.Фпринт ( Ин , хтмл )
}
фунц маин ( ) {
хттп.ХандлеФунц ( '/' , руковалац )
лог.Фатал ( хттп.ЛистенАндСерве ( '0.0.0.0:8080' , нула ) )
}
Корак 3: Генерирајте снимак контејнера
Сада направите снимак за контејнер из горе наведеног Доцкерфиле-а. У ту сврху, прво идите до директоријума у којем је креиран Доцкерфиле помоћу „ цд <пута-до-радне-директорије> ” команда:
Затим генеришете нову слику контејнера користећи дату команду:
доцкер буилд -т голанг-имг .
Дати резултат показује да је слика креирана према датом контексту изградње.
Корак 4: Проследите порт хоста на порт контејнера
Сада покрените контејнер и проследите хост порт на порт контејнера да бисте приступили доцкеризе апликацији изван контејнера на локалној машини. У ту сврху покрените „доцкер рун –наме <име-наставака> -п <хост-порт>:<цонт-порт> <име-имаге> ” команда:
доцкер рун --наме го-цонт -п 8080 : 8080 голанг-имгОвде, „ -п ” ознака се користи за објављивање извршног порта контејнера на доцкер хосту:
Корак 5: Верификација
За верификацију, погледајте покренуте контејнере користећи „ доцкер пс ”:
доцкер псУ доњем резултату, контејнеризована апликација слуша доступне мрежне интерфејсе “ 0.0.0.0 “ на објављеном порту “ 8080 ”. То имплицира да се порт прослеђује покренутој апликацији на главној машини:
Сада покрените претраживач и идите на „ Ф03346ЕБ3А99БЕ025979045Е8ФА1А281Ц5159611 ” и проверите да ли је техника прослеђивања портова примењена или не и да ли је контејнеризована апликација доступна изван контејнера на систему хоста:
Овде смо успешно проследили хост порт на порт контејнера и апликација је доступна на доцкер хосту.
Како проследити порт у Доцкер-у користећи Доцкер Цомпосе
Да би проследио порт контејнера на хост како би приступио контејнеризованој апликацији изван контејнера, корисник може да користи „ Лука ” кључ у састављању иамл датотеке. Доцкер цомпосе је Доцкер услуга која нам омогућава да покрећемо различите услуге и апликације у различитим контејнерима. Помоћу ' доцкер-цомпосе.имл ” корисник такође може да проследи порт контејнера на хост машину и да има везу са апликацијом са спољним светом.
Погледајте доњи поступак за илустрације.
Корак 1: Направите Цомпосе Филе
Прво, генеришите датотеку под називом „ доцкер-цомпосе.имл ” и додајте следећи садржај у датотеку:
верзија: '3'услуге:
веб:
градити: .
портови:
- 8080 : 8080
У горњем исечку, „ луке ” кључ се користи за повезивање хоста са портом контејнера. Овде је прва вредност порт домаћина, а друга вредност порт контејнера.
Корак 2: Покрените апликацију
Након што наведете упутства у датотеци за састављање, покрените апликацију у контејнеру користећи „ доцкер-цомпосе уп ” команда:
доцкер-цомпосе уп
Корак 3: Верификација
За верификацију, наведите доле контејнере за писање помоћу „ доцкер-цомпосе пс ” команда:
доцкер-цомпосе пс -а
Да бисте проверили да ли је контејнер доступан на главној машини, идите на „ Ф03346ЕБ3А99БЕ025979045Е8ФА1А281Ц5159611 ” УРЛ. Овде можете видети да смо ефикасно проследили порт контејнера на хосту:
Како проследити порт на одређену мрежу
Да би проследио порт контејнера на одређену мрежу, корисник треба да наведе мрежу на којој жели да приступи контејнеру користећи „ –мрежа ' опција. Погледајте дате кораке за демонстрацију.
Корак 1: Креирајте мрежу
Креирајте нову мрежу користећи „ доцкер нетворк цреате <нет-наме> ” команда. Подразумевано, ова мрежа ће користити драјвер за мост:
доцкер мрежа креира миго-мрежу
Да бисте видели Доцкер мреже, користите „ доцкер мрежа лс ” команда:
доцкер мрежа лсОвде смо успешно креирали “ миго-нетворк ” који користи „ мост ” возач:
Корак 2: Мрежа мапа
Да бисте покренули и приступили контејнеру на одређеној мрежи користећи технику прослеђивања портова, користите следећу команду:
доцкер рун -п 8080 : 8080 --мрежа миго-нетворк голанг-имгУ датој команди, „ -п ” опција објављује контејнер на одређеном порту наведене мреже. Овде, „ –мрежа ” опција се користи за дефинисање доцкер мреже:
За верификацију, поново идите на „ 973503Д55АБА40Е89Д4АБ4Ц16783БЦ9А159Ц512Е ” порт и проверите да ли је контејнер доступан на наведеној мрежи или не:
Горњи излаз показује да смо ефикасно проследили порт контејнера на одређену мрежу.
Белешка: Док користи „хост“ мрежу, корисник не мора да објављује порт од контејнера до хоста користећи „ -п ” или “ – објавити ' опција.
Проследите порт на одређену мрежу помоћу Доцкер Цомпосе
Додајте следећи исечак у „ доцкер-цомпосе.имл ” фајл. У доњем исечку, „ мреже ” кључ се користи за одређивање мреже:
верзија: '3'услуге:
веб:
градити: .
портови:
- 8080 : 8080
Сада покрените апликацију у контејнеру користећи „ доцкер-цомпосе уп ” команда:
доцкер-цомпосе уп
Покрили смо методе за прослеђивање портова у Доцкер-у.
Закључак
Да би проследио порт у Доцкер-у за приступ доцкеризе апликацији изван контејнера, корисник може да користи или „ -п ” или “ – објавити ” опција у „ доцкер рун ” или корисник може да користи „ луке ” кључ у Доцкер датотеци за састављање. Да би приступио контејнеру на одређеној мрежи, корисник може да проследи порт контејнера на мрежи користећи „ –нетворк <мрежа> ' опција. Овај блог је демонстрирао технике за прослеђивање портова у Доцкер-у.