Как да Dockerize Node.js приложение

Kak Da Dockerize Node Js Prilozenie



Докеризирането на приложение включва уточняване на всички предпоставки, необходими за изпълнение на приложението и след това използване на Dockerfile за изграждане на специализирано изображение на Docker, което може да се споделя с различни машини. Докеризиране на „ Node.js ” подобрява последователността и осигурява удобно отстраняване на грешки от страна на разработчика.

Предпоставки







Предпоставките за докеризиране на „ Node.js ” включва следното:



  • Инсталиране на Docker.
  • Основно разбиране на приложението Node.js.

Как да Dockerize Node.js приложение?

A “ Node.js ” приложението може да бъде докеризирано чрез следните стъпки:



Стъпка 1: Създайте файл „package.json“.





Първо създайте нова директория, където ще бъдат включени всички файлове. В тази директория създайте „ package.json ” файл, който представлява приложението заедно с неговите зависимости:

{
'име' : 'docker_web_app' ,
'версия' : '1.0.0' ,
'описание' : „Node.js на Docker“ ,
'автор' : 'Първи последен ' ,
'основен' : 'server.js' ,
'скриптове' : {
'старт' : 'възел server.js'
} ,
'зависимости' : {
'експресен' : '^4.18.2'
} }



Стъпка 2: Генерирайте файл „package-lock.json“.

В рамките на файла „package.json“ изпълнете „ npm инсталиране ” кратка команда. Това ще генерира „ package-lock.json ”, който се копира в изображението на Docker, както следва:

npm Инсталирай

Стъпка 3: Създайте сървър

След това създайте „ server.js ' файл, който декларира уеб приложение, използващо ' Express.js ” рамка:

'използвайте строго' ;

const express = изисквам ( 'експресен' ) ;

const PORT = 8080 ;
const HOST = „0.0.0.0“ ;

const приложение = експрес ( ) ;
app.get ( '/' , ( req, res ) = > {
повторно изпращане ( 'Здравей свят' ) ;
} ) ;

app.listen ( ПОРТ, ХОСТ, ( ) = > {
console.log ( ` Работи на http: // ${HOST} : ${ПОРТ} ` ) ;
} ) ;

Сега нека да преминем към методологиите за изпълнение на приложението в контейнер на Docker чрез официално изображение на Docker.

Стъпка 4: Създайте Docker файл

Създайте Dockerfile ръчно в същата директория, включваща всички файлове. В този файл напишете следния ред код:

ОТ възел: 18
WORKDIR / usr / src / ап
COPY пакет * .json. /
ИЗПЪЛНЕТЕ npm Инсталирай
КОПИЕ . .
ИЗЛОЖИ 8080
CMD [ 'възел' , 'server.js' ]

В горния кодов фрагмент приложете дадените по-долу стъпки:

  • Първо, използвайте най-новата дългосрочна поддръжка версия 18 на възела като основно изображение, съдържащо се в Docker Hub .
  • След това създайте директория, която да съдържа кода на приложението в изображението.
  • Това представлява работната директория за приложението.
  • Сега инсталирайте зависимостите на приложението чрез „ npm ”.
  • Забележка: Ако се използва npm версия 4 или по-стара, няма да бъде създаден файл „package-lock.json“.
  • Сега копирайте „ package.json ” файл. Също така групирайте изходния код на приложението в изображението на Docker чрез „ КОПИЕ ” инструкция.
  • Използвайте „ ИЗЛОЖИ ” инструкция, за да позволи на приложението да се свърже с порт 8080.
  • И накрая, дефинирайте cmdlet за изпълнение на приложението чрез CMD, който определя времето за изпълнение. Тук „ възел server.js ” cmdlet ще се използва за иницииране на сървъра.

Стъпка 5: Създайте файл „.dockerignore“.

Създайте файл „.dockerignore“ в „ Докер файл ” директория/папка, включваща даденото по-долу съдържание:

node_modules
npm-debug.log

Това съдържание избягва локалните модули и регистрационните файлове за отстраняване на грешки съответно да бъдат копирани в изображението на Docker.

Стъпка 6: Изградете изображението

Сега, в рамките на директорията, съдържаща Dockerfile, създайте изображението, като използвате кратката команда по-долу:

изграждане на докер. -T nodejs / уеб-приложение за възел

В тази кратка команда „ nodejs ” се отнася до името на директорията, така че посочете cmdlet съответно и „ -T ” маркира изображението.

Сега избройте изображенията чрез тази команда:

докер изображения

Стъпка 7: Стартирайте изображението

Изпълнете/изпълнете изображението, като използвате кратката команда по-долу:

докер изпълнение -стр 49160 : 8080 nodejs / уеб-приложение за възел

Тук „ -стр ” пренасочва публичен порт към частен в рамките на контейнера и „ ” флагът изпълнява контейнера в отделен режим, т.е. във фонов режим.

Стъпка 8: Генерирайте изхода на приложението

Сега отпечатайте изхода на приложението, като използвате следните команди:

докер пс
докер регистрационни файлове 77b1e3c8576e

Ако има нужда от навигация в обвивката на контейнера, използвайте „ изп ” cmdlet:

докер изп -то 77b1e3c8576e / кошче / баш

Тук, ' 77b1e3c8576e ' представлява ID на контейнера, който може да бъде копиран чрез изпълнения ' докер ps ” команда по-рано.

Стъпка 9: Тестване на приложението

За да тествате приложението, извлечете порта на приложението, което Docker картографира:

докер пс

В горната кратка команда Docker картографира „ 8080 „порт в контейнера към порт“ 49160 ” на машината.

Стъпка 10: Извикване на приложението

Извикайте приложението чрез „ къдрица ” cmdlet, като се позовавате на картографирания по-горе порт и въведете необходимите стойности:

къдрица локален хост: 49160

Стъпка 11: Затворете/убийте приложението

И накрая, изключете приложението чрез „ убивам ” cmdlet:

докер убивам 77b1e3c8576e

Също така потвърдете дали приложението е спряло чрез тази команда с въведени стойности:

къдрица локален хост: 49160

Заключение

A “ Node.js ” приложението може да бъде докеризирано чрез създаване на сървър, докер файл, файла „.dockerignore”, изграждане и стартиране на изображението, генериране на изхода на приложението и тестване, затваряне и потвърждаване на спирането на приложението. Тази статия разработи докеризиране на приложение Node.js.