Доцкеризација апликације укључује навођење свих предуслова потребних за извршавање апликације и затим коришћење Доцкерфиле-а за прављење специјализоване Доцкер слике која се може делити са различитим машинама. Докеризација „ Ноде.јс ” апликација побољшава конзистентност и осигурава практично отклањање грешака на крају програмера.
Предуслови
Предуслови за докеризацију „ Ноде.јс ” апликација укључује следеће:
- Инсталација Доцкер-а.
- Основно разумевање Ноде.јс апликације.
Како докеризовати Ноде.јс апликацију?
А “ Ноде.јс ” апликација се може докеризовати следећим корацима:
Корак 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
Закључак
А “ Ноде.јс ” апликација може бити докеризована креирањем сервера, доцкерфиле-а, „.доцкеригноре” датотеке, изградњом и покретањем слике, генерисањем излаза апликације и тестирањем, затварањем и потврдом заустављања апликације. Овај чланак је разрадио докеризацију апликације Ноде.јс.