Голанг апликација за покретање као Доцкер контејнер

Golang Aplikacija Za Pokretane Kao Docker Kontejner



У овом водичу ћемо научити основе контејнеризације тако што ћемо подесити Голанг апликацију да се покреће као Доцкер контејнер. Научићемо како да радимо са Доцкерфилеом да бисмо конфигурисали све захтеве за нашу апликацију.

Го је отвореног кода, статички откуцани и компајлирани програмски језик који је познат по својој способности да олакша развој једноставног, поузданог и високо ефикасног софтвера. Корисност проналази у изради различитих апликација, укључујући веб апликације, решења заснована на облаку, интерфејсе командне линије (ЦЛИ), а интригантно је да је чак и сам Доцкер направљен помоћу Го-а.

У нашем случају, правимо једноставан ХТТП сервер у Го-у који нам омогућава да демонстрирамо како да направимо и докеризујемо апликацију у једноставним корацима.







Захтеви:

Да бисте пратили овај водич, потребни су вам следећи алати:



  1. Инсталиран Го компајлер (потребна је верзија 1.21 и новија)
  2. Покретање Доцкер Енгине-а на вашој хост машини
  3. ИДЕ или уређивач текста за уређивање Го апликације. Препоручујемо да користите Висуал Студио или Вим
  4. Интерпретатор командне линије као што су Басх, ЗСХ, ПоверСхелл итд.

Пошто су испуњени дати захтеви, хајде да наставимо и научимо како да направимо апликацију.



Израда апликације

Следећи корак је да направимо нашу апликацију. У нашем случају, градимо једноставан ХТТП сервер који одговара једноставном поруком.





Почните тако што ћете креирати директоријум за складиштење Го пројекта. Можете дати било које одговарајуће име.

$ мкдир го_сервер

Идите у директоријум и креирајте нову датотеку за чување изворног кода. У нашем случају, ми зовемо датотеку “маин.го” што означава да је датотека Го изворни код.



$ додирнути маин.го

На крају, уредите датотеку и додајте изворни код у апликацију као што је приказано у наставку:

пакет главни

увоз (
'фмт'
'нет/хттп'
)

фунц маин ( ) {
// обрађују долазне захтеве
хттп.ХандлеФунц ( '/' , фунц ( У хттп.РеспонсеВритер, р * хттп.Рекуест ) {
// Напишите одговор клијенту
фмт.Фпринтф ( У , „Из Доцкер-а (:“ )
} )

// Покрените ХТТП сервер на порту 8080
фмт.Принтлн ( „Сервер ради на :8080“ )
хттп.ЛистенАндСерве ( ':8080' , нула )
}

Претходна апликација креира основни ХТТП сервер који се везује за порт 8080. Сервер одговара основном поруком као што је претходно дефинисано.

Тестирање апликације

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

$ го рун маин.го

Претходна команда покреће апликацију и враћа поруку на следећи начин:

Сервер ради на: 8080

Затим, да бисте тестирали ХТТП сервер, можете покренути команду „цурл“ на следећи начин:

$ цурл хттп: // локални домаћин: 8080 /

Претходна команда би требало да врати поруку на следећи начин:

Од Доцкер-а ( : %

Сада можемо да наставимо и докеризујемо претходну апликацију као што је дефинисано у следећим корацима.

Контејнерисање апликације

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

$ цд го_сервер

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

$ додирнути Доцкерфиле
$ јер Доцкерфиле

Додајте конфигурацију на следећи начин:

ИЗ голанга: 1.21

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

ЦОПИ . .

РУН го буилд маин.го главни .

ЕКСПОСЕ 8080

ЦМД [ './главни' ]

У претходном Доцкерфиле-у дефинишемо претходне операције за апликацију.

  • Поставите основну слику на званичну верзију Голанг слике 1.21.
  • Конфигуришите радни директоријум унутар контејнера на „/апп“.
  • Копирамо цео директоријум пројекта у контејнер.
  • Направите апликацију Го унутар контејнера.
  • Откријте порт 8080 да бисте дозволили долазни ХТТП саобраћај.
  • Подесите команду за покретање апликације Го.

Изградња Доцкер слике

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

$ судо доцкер буилд го_сервер_доцкер .

Замените го_сервер_доцкер именом које желите да доделите слици апликације.

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

$ доцкер рун -п 8080 : 8080 го_сервер_доцкер

Претходна команда би требало да мапира порт 8080 са хост машине на порт 8080 унутар контејнера.

Да бисте тестирали контејнер, покрените следећу команду:

$ цурл хттп: // локални домаћин: 8080

Ово би требало да одштампа поруку која је дефинисана у апликацији.

Закључак

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