Докеризация приложения включает в себя указание всех предварительных условий, необходимых для выполнения приложения, а затем использование Dockerfile для создания специализированного образа Docker, который можно использовать совместно с различными компьютерами. Докеризация « Node.js Приложение повышает согласованность и обеспечивает удобную отладку на стороне разработчика.
Предварительные условия
Предпосылки для докеризации « Node.js Приложение включает в себя следующее:
- Установка докера.
- Базовое понимание приложения Node.js.
Как Dockerize приложение Node.js?
А» Node.js Приложение можно закрепить, выполнив следующие шаги:
Шаг 1. Создайте файл package.json.
Сначала создайте новый каталог, в котором будут храниться все файлы. В этом каталоге создайте « пакет.json ” файл, который представляет приложение вместе с его зависимостями:
{'имя' : 'docker_web_app' ,
'версия' : '1.0.0' ,
'описание' : «Node.js в Docker» ,
'автор' : 'Первый Последний ' ,
'основной' : 'сервер.js' ,
'сценарии' : {
'начинать' : 'узел server.js'
} ,
'зависимости' : {
'выражать' : '^4.18.2'
} }
Шаг 2. Создайте файл package-lock.json.
В файле package.json выполните команду « установка npm » командлет. Это создаст « пакет-lock.json », который копируется в образ Docker, следующим образом:
НПМ установить
Шаг 3: Создайте сервер
После этого создайте « сервер.js ” файл, который объявляет веб-приложение, использующее “ Экспресс.js ' рамки:
«используйте строгий» ;константный экспресс = требуется ( 'выражать' ) ;
константный ПОРТ = 8080 ;
константный ХОСТ = '0.0.0.0' ;
константное приложение = экспресс ( ) ;
app.get ( '/' , ( требование, разрешение ) '=' > {
повторно отправить ( 'Привет, мир' ) ;
} ) ;
приложение.прослушивать ( ПОРТ, ХОСТ, ( ) '=' > {
консоль.log ( ` Запуск по http: // ${HOST} : ${ПОРТ} ` ) ;
} ) ;
Теперь давайте перейдем к методологиям выполнения приложения в контейнере Docker через официальный образ Docker.
Шаг 4. Создайте файл Dockerfile.
Создайте Dockerfile вручную в том же каталоге, содержащем все файлы. В этом файле напишите следующую строку кода:
ОТ узла: 18РАБОЧИЙ ДИАПАЗОН / usr / источник / приложение
КОПИРОВАТЬ пакет * .json. /
ЗАПУСК НПМ установить
КОПИРОВАТЬ. .
РАЗОБЛАЧАТЬ 8080
КМД [ 'узел' , 'сервер.js' ]
В приведенном выше фрагменте кода примените следующие шаги:
- Во-первых, используйте последнюю версию узла 18 с долгосрочной поддержкой в качестве базового образа, содержащегося в Докер-Хаб .
- После этого создайте каталог для хранения кода приложения в образе.
- Это представляет собой рабочий каталог приложения.
- Теперь установите зависимости приложения через « НПМ ».
- Примечание: Если используется npm версии 4 или более ранней, файл package-lock.json не будет создан.
- Теперь скопируйте « пакет.json ' файл. Кроме того, свяжите исходный код приложения с образом Docker с помощью файла « КОПИРОВАТЬ » инструкция.
- Используйте функцию « РАЗОБЛАЧАТЬ » инструкция, позволяющая приложению привязываться к порту 8080.
- Наконец, определите командлет для выполнения приложения через CMD, который определяет среду выполнения. Здесь « узел server.js ” будет использоваться для запуска сервера.
Шаг 5. Создайте файл «.dockerignore».
Создайте файл «.dockerignore» в папке « Докерфайл » каталог/папка, содержащая указанный ниже контент:
node_modulesnpm-debug.log
Это содержимое позволяет избежать копирования локальных модулей и журналов отладки в образ Docker.
Шаг 6: Создайте изображение
Теперь в каталоге, содержащем Dockerfile, создайте образ с помощью приведенного ниже командлета:
сборка докера. -т nodejs / узел-веб-приложение
В этом командлете « nodejs «» относится к имени каталога, поэтому укажите соответствующий командлет и « -т ”флажок помечает изображение.
Теперь перечислите изображения с помощью этой команды:
докер изображения
Шаг 7. Запустите образ
Выполните/запустите образ, используя приведенный ниже командлет:
запуск докера -п 49160 : 8080 -д nodejs / узел-веб-приложение
Здесь « -п Флаг ” перенаправляет общедоступный порт на частный внутри контейнера, а флаг “ -д Флаг запускает контейнер в автономном режиме, то есть в фоновом режиме.
Шаг 8. Сгенерируйте выходные данные приложения
Теперь распечатайте выходные данные приложения, используя следующие команды:
докер псжурналы докера 77b1e3c8576e
Если есть необходимость перемещаться внутри оболочки контейнера, используйте команду « руководитель » командлет:
докер руководитель -это 77b1e3c8576e / мусорное ведро / бить
Здесь, ' 77b1e3c8576e ” представляет идентификатор контейнера, который можно скопировать с помощью выполненного “ докер, пс команда ранее.
Шаг 9: Тестирование приложения
Для тестирования приложения получите порт приложения, сопоставленный Docker:
докер пс
В приведенном выше командлете Docker сопоставил « 8080 «порт внутри контейнера в порт» 49160 » на машине.
Шаг 10: Вызов приложения
Вызовите приложение через « завиток ” командлет, обратившись к указанному выше порту и введя необходимые значения:
завиток -я локальный хост: 49160
Шаг 11: Закройте/завершите приложение
Наконец, закройте приложение через « убийство » командлет:
докер убийство 77b1e3c8576e
Также проверьте, остановлено ли приложение, с помощью этой команды с входными значениями:
завиток -я локальный хост: 49160
Заключение
А» Node.js Приложение можно закрепить, создав сервер, файл dockerfile, файл «.dockerignore», создав и запустив образ, сгенерировав выходные данные приложения, а также протестировав, закрыв и подтвердив остановку приложения. В этой статье подробно рассматривается докеризация приложения Node.js.