Како покренути Доцкер инстанцу из Доцкерфиле-а?

Kako Pokrenuti Docker Instancu Iz Dockerfile A



Доцкер је веома омиљена отворена платформа која се универзално користи за прављење, тестирање, примену и отпрему апликација у контејнерском окружењу. Доцкер користи ОС ниво виртуелизације и подржава различите компоненте као што су Доцкер контејнери, слике, мреже и Доцкер волумен.

Доцкер контејнери су једна од основних компоненти Доцкер платформе која пакује програм, поставке конфигурације и зависности користећи Доцкер слику. Доцкер слика је једноставан шаблон или снимак контејнера који води контејнер о томе како да контејнеризује апликацију. Ове слике су углавном доступне у званичном регистру Доцкер чворишта. Корисници такође могу дизајнирати ове слике у складу са захтевима пројекта користећи Доцкерфиле.

Овај блог ће објаснити:







Шта је Доцкерфиле?

Доцкерфиле је нормална текстуална датотека која садржи команде и упутства која дефинишу основну структуру Доцкер контејнера. Ове инструкције се могу извршити у терминалу без икакве датотеке, али покретање сваке команде једну за другом је напоран и сложен задатак. Доцкерфиле олакшава програмерима да наведу све захтеве и упутства у једну датотеку. Ова датотека ће се затим користити за прављење шаблона контејнера који је Доцкер слика. Након тога, доцкер слика се извршава да би се покренула инстанца у Доцкер контејнеру.



Основне команде Доцкерфиле-а

Неке основне команде Доцкерфиле-а које се користе за дефинисање основног снимка контејнера наведене су испод у облику табеле:



Команде Опис
ИЗ ИЗ ” се користи за дефинисање основне слике за шаблон контејнера. Ове слике су извучене из званичног Доцкер регистра Доцкер Хуб.
МАИНТАИНЕР МАИНТАИНЕР ” команда дефинише информације о аутору (име и е-пошта) који креира Доцкер слику.
ВОРКДИР Он одређује радни директоријум контејнеризоване апликације.
ЦОПИ Користи се за копирање изворних и конфигурационих датотека са хост система на наведену путању Доцкер контејнера.
ДОДАТИ ДОДАТИ ” команда је слична „ ЦОПИ ” али такође подржава удаљени УРЛ за додавање датотеке са УРЛ-а на путању контејнера, као што је из ГитХуб спремишта у путању контејнера.
ТРЦАТИ ТРЦАТИ ” се користи за покретање команди у контејнеру. У Доцкерфиле-у се углавном користи за управљање и инсталирање додатних зависности унутар контејнера.
ЦМД ЦМД ” дефинише подразумеване тачке Доцкер контејнера. У основи дефинише извршне датотеке и подразумеване параметре „ УЛАЗНА ТАЧКА ”.
УЛАЗНА ТАЧКА УЛАЗНА ТАЧКА ” се такође користи за подешавање извршних датотека Доцкер контејнера. У основи поставља подразумеване апликације које се сваки пут користе у контејнеру. Команда ЕНТРИПОИНТ се такође користи једном у Доцкерфиле-у.
УСЕР Ова команда се користи за постављање УИД-а (корисничко име) за извршавање команди у контејнеру
ВОЛУМЕ ВОЛУМЕ ” команда се користи за повезивање или монтирање спољног волумена (система датотека) са контејнером.
ЕНВ ЕНВ ” се користи за подешавање променљивих окружења контејнера.
АРГ АРГ ” се користи за прослеђивање аргумената унутар контејнера.
ЕКСПОСЕ ЕКСПОСЕ ” команда одређује портове за откривање на којима ће се контејнер извршити.
ОНБУИЛД Чита упутства са основне слике, али покреће ове инструкције преко ниже слике.
ЕТИКЕТА ЕТИКЕТА ” се користи за спецификацију метаподатака снимка контејнера.

Како покренути Доцкер инстанцу из Доцкерфиле-а у Доцкер-у?

Да бисте покренули Доцкер инстанцу или контејнер користећи Доцкерфиле, прво креирајте Доцкерфиле. Затим направите основни снимак за контејнер користећи Доцкерфиле. Након тога, покрените снимак да бисте покренули Доцкер инстанцу.





Следите доленаведена упутства за илустрацију.

Корак 1: Креирајте Доцкерфиле

Прво направите Доцкерфиле. Запамтите да Доцкерфиле нема екстензију датотеке. Након тога, налепите следеће команде у датотеку:



ИЗ голанга: 1.8

ВОРКДИР / иди / срц / апликација

ЦОПИ маин.го .

РУН иди гради веб сервер .

ЕКСПОСЕ 8080 : 8080

УЛАЗНА ТАЧКА [ './веб сервер' ]

Корак 2: Направите програмску датотеку

Затим направите нову датотеку под називом „ маин.го ” који садржи једноставан Голанг програм. У ту сврху, налепите следећи програм у датотеку:

пакет главни
увоз (
'фмт'
'Пријава'
'нет/хттп'
)

фунц хандлер ( У хттп.РеспонсеВритер, р * хттп.Рекуест ) {
фмт.Фпринтф ( У , „Здраво! Добродошли у ЛинукХинт водич“ )
}
фунц маин ( ) {
хттп.ХандлеФунц ( '/' , руковалац )
лог.Фатал ( хттп.ЛистенАндСерве ( '0.0.0.0:8080' , нула ) )
}

Корак 3: Генеришите снимак контејнера

Сада направите Доцкер снимак контејнера користећи „ доцкер буилд -т <име-слике> -ф <путања-до-доцкерфиле> . ”:

доцкер буилд го-имг Доцкерфиле .

У горњој команди, „ ” опција поставља име или ознаку слике, “ ” опција одређује путању до Доцкерфиле-а из које Доцкер мотор треба да прочита контекст изградње:

Да бисте проверили да ли је слика успешно направљена или не, покрените „ доцкер слике <име-слике> ” команда:

доцкер слике го-имг

Излаз показује да смо успешно креирали снимак контејнера из Доцкерфиле-а:

Корак 4: Покрените снимак да бисте покренули контејнер

Сада покрените инстанцу Доцкер-а у Доцкер контејнеру тако што ћете извршити снимак контејнера који је креиран у горњем кораку:

доцкер рун -п 8080 : 8080 --наме го-цонт го-имг

У горњој команди, „ -п ” опција покреће контејнер на „ 8080 ' Лука, ' –име ” поставља назив контејнера и „ ” опција покреће контејнер у одвојеном режиму (услуга у позадини):

Да бисте проверили да ли се контејнер извршава или не, наведите покренуте контејнере користећи „ доцкер пс ” команда:

доцкер пс

Сада идите на „ 973503Д55АБА40Е89Д4АБ4Ц16783БЦ9А159Ц512Е ” и проверите да ли апликација ради на порту за откривање или не:

Горњи излаз показује да смо ефективно покренули Доцкер инстанцу користећи Доцкерфиле.

Како покренути инстанцу из Доцкерфиле-а у Доцкер Цомпосе-у?

Доцкер цомпосе је још један главни додатак Доцкер платформе који нам омогућава да истовремено покренемо више инстанци у различитим контејнерима. Корисници такође могу покренути инстанцу Доцкер-а из Доцкерфиле-а користећи додатак Доцкер цомпосе. За илустрацију, следите дате кораке.

Корак 1: Креирајте Доцкерфиле

Прво направите Доцкерфиле. На пример, користимо исти Доцкерфиле и програмски фајл који се користи у горњем одељку:

ИЗ голанга: 1.8

ВОРКДИР / иди / срц / апликација

ЦОПИ маин.го .

РУН иди гради веб сервер .

ЕКСПОСЕ 8080 : 8080

УЛАЗНА ТАЧКА [ './веб сервер' ]

Корак 2: Направите датотеку доцкер-цомпосе.имл

Затим креирајте „ доцкер-цомпосе.имл ” и копирајте следеће парове кључева у датотеку:

верзија: '3'

услуге:

веб:
градити: .
портови:
- 8080 : 8080

У горе поменутом снимку:

  • услуге ” се користи за спецификацију услуга састављања које ће бити извршене у посебном контејнеру. Илустрације ради, конфигурисали смо само једну услугу “ веб ” да би код био чист и једноставан.
  • градити ” пар кључева се користи за читање контекста изградње из Доцкерфиле-а. Овде ће доцкер прочитати упутства из Доцкерфиле-а и у складу са тим изградити контејнер.
  • луке ” кључ дефинише портове за откривање на којима ће се контејнер извршити.

Корак 3: Покрените Доцкер инстанцу

Сада покрените Доцкер инстанцу у контејнеру користећи „ доцкер-цомпосе уп ” команда:

доцкер-цомпосе уп

За верификацију, проверите листу покренутих контејнера за писање помоћу „ доцкер-цомпосе пс ” команда:

доцкер-цомпосе пс

Излаз показује да је „ веб ” услуга се успешно извршава у „ голангапп-веб-1 ' контејнер:

Идите до порта за откривање услуге цомпосе и проверите да ли се програм извршава или не. Доњи резултат показује да смо успешно покренули Доцкер инстанцу из Доцкерфиле-а користећи Доцкер цомпосе:

То је све о покретању доцкер инстанце из Доцкерфиле-а.

Закључак

Да бисте извршили Доцкер инстанцу у контејнеру из Доцкерфиле-а, прво креирајте Доцкерфиле. Додајте команде унутар датотеке да бисте креирали слику или шаблон Доцкер контејнера. Затим направите слику или снимак контејнера користећи „ доцкер буилд -т <име-слике> -ф <путања до Доцкерфиле> . ” команда. Сада извршите слику контејнера да бисте покренули Доцкер инстанцу. Корисници такође могу да користе Доцкер цомпосе за покретање Доцкер инстанце из Доцкерфиле-а. Овај пост је илустровао како покренути Доцкер инстанцу из Доцкерфиле-а.