Како докеризовати Ноде.јс апликацију

Kako Dokerizovati Node Js Aplikaciju



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

Предуслови







Предуслови за докеризацију „ Ноде.јс ” апликација укључује следеће:



  • Инсталација Доцкер-а.
  • Основно разумевање Ноде.јс апликације.

Како докеризовати Ноде.јс апликацију?

А “ Ноде.јс ” апликација се може докеризовати следећим корацима:



Корак 1: Направите датотеку „пацкаге.јсон“.





Прво направите нови директоријум у коме ће се налазити све датотеке. У овом директоријуму креирајте „ пацкаге.јсон ” датотека која представља апликацију заједно са њеним зависностима:

{
'име' : 'доцкер_веб_апп' ,
'верзија' : '1.0.0' ,
'Опис' : „Ноде.јс на Доцкер-у“ ,
'аутор' : 'Први прошле ' ,
'главни' : 'сервер.јс' ,
'скрипте' : {
'почетак' : 'ноде сервер.јс'
} ,
'зависности' : {
'изразити' : '^4.18.2'
} }



Корак 2: Генеришите датотеку „пацкаге-лоцк.јсон“.

Унутар датотеке „пацкаге.јсон“ извршите „ нпм инсталл ” цмдлет. Ово ће генерисати „ пацкаге-лоцк.јсон ” датотека која се копира у Доцкер слику, на следећи начин:

нпм инсталирај

Корак 3: Креирајте сервер

Након тога, креирајте „ сервер.јс ” датотека која декларише веб апликацију која користи „ Екпресс.јс ” оквир:

'користи строго' ;

цонст екпресс = захтевати ( 'изразити' ) ;

цонст ПОРТ = 8080 ;
цонст ХОСТ = '0.0.0.0' ;

цонст апп = екпресс ( ) ;
апп.гет ( '/' , ( рек, рес ) = > {
рес.сенд ( 'Здраво Свете' ) ;
} ) ;

апп.листен ( ПОРТ, ХОСТ, ( ) = > {
цонсоле.лог ( ` Покреће се на хттп: // ${ХОСТ} : ${ПОРТ} ` ) ;
} ) ;

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

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

Направите ручно Доцкерфиле у истом директоријуму који садржи све датотеке. У овој датотеци напишите следећу линију кода:

ОД чвора: 18
ВОРКДИР / уср / срц / апликација
ЦОПИ пакет * .јсон . /
РУН нпм инсталирај
ЦОПИ . .
ЕКСПОСЕ 8080
ЦМД [ 'чвор' , 'сервер.јс' ]

У горњем исечку кода примените доле наведене кораке:

  • Прво, користите најновију верзију дугорочне подршке 18 чвора као основну слику садржану у Доцкер Хуб .
  • Након тога, креирајте директоријум који садржи код апликације на слици.
  • Ово представља радни директоријум за апликацију.
  • Сада инсталирајте зависности апликације преко „ нпм ”.
  • Белешка: Ако се користи нпм верзија 4 или старија, датотека „пацкаге-лоцк.јсон“ неће бити креирана.
  • Сада копирајте „ пацкаге.јсон ” фајл. Такође, спојите изворни код апликације у Доцкер слику преко „ ЦОПИ ' упутство.
  • Користите „ ЕКСПОСЕ ” инструкција да се апликација повеже са портом 8080.
  • Коначно, дефинишите цмдлет за извршавање апликације преко ЦМД-а који дефинише време извођења. Овде, „ чвор сервер.јс ” цмдлет ће се користити за покретање сервера.

Корак 5: Направите датотеку „.доцкеригноре“.

Направите датотеку „.доцкеригноре“ у „ Доцкерфиле ” директоријум/директоријум који садржи доле наведени садржај:

ноде_модулес
нпм-дебуг.лог

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

Корак 6: Направите слику

Сада, унутар директоријума који садржи Доцкерфиле, направите слику користећи доле наведени цмдлет:

доцкер буилд . нодејс / чвор-веб-апликација

У овом цмдлет-у, „ нодејс ” се односи на име директоријума па наведите цмдлет у складу са тим и „ ” заставица означава слику.

Сада наведите слике преко ове команде:

доцкер слике

Корак 7: Покрените слику

Извршите/покрените слику користећи доле наведени цмдлет:

доцкер рун -п 49160 : 8080 нодејс / чвор-веб-апликација

Овде, „ -п ” заставица преусмерава јавни порт на приватни у оквиру контејнера и „ ” заставица извршава контејнер у одвојеном режиму, односно у позадини.

Корак 8: Генеришите излаз апликације

Сада одштампајте излаз апликације користећи следеће команде:

доцкер пс
доцкер евиденције 77б1е3ц8576е

Ако постоји потреба за навигацијом унутар љуске контејнера, користите „ екец ” цмдлет:

доцкер екец -то 77б1е3ц8576е / бин / басх

Овде, „ 77б1е3ц8576е ” представља ИД контејнера који се може копирати путем извршеног „ доцкер пс ” претходна наредба.

Корак 9: Тестирање апликације

Да бисте тестирали апликацију, преузмите порт апликације који је Доцкер мапирао:

доцкер пс

У горњој цмдлет команди, Доцкер је мапирао „ 8080 ” порт унутар контејнера до порта “ 49160 ” на машини.

Корак 10: Позивање апликације

Позовите апликацију преко „ цурл ” цмдлет упућивањем на горе мапирани порт и уносом потребних вредности:

цурл локални домаћин: 49160

Корак 11: Затворите/убијте апликацију

На крају, искључите апликацију преко „ убити ” цмдлет:

доцкер убити 77б1е3ц8576е

Такође, потврдите да ли се апликација зауставила преко ове команде са улазним вредностима:

цурл локални домаћин: 49160

Закључак

А “ Ноде.јс ” апликација може бити докеризована креирањем сервера, доцкерфиле-а, „.доцкеригноре” датотеке, изградњом и покретањем слике, генерисањем излаза апликације и тестирањем, затварањем и потврдом заустављања апликације. Овај чланак је разрадио докеризацију апликације Ноде.јс.