17.07.2023 в 10:21
Алексей Устинов
Докеризация приложения Node.js: подробное руководство по простому развертыванию🐋
Докеризация приложения Node.js — это полезный метод, который позволяет упаковать ваше приложение и его зависимости в контейнер, упрощая развертывание и согласованную работу в разных средах. В этом блоге мы рассмотрим шаги по докеризации приложения Node.js. Давайте начнем!
Предпосылки
Прежде чем мы начнем, убедитесь, что на вашем компьютере установлено следующее: Docker: вы можете скачать и установить Docker с официального сайта (https://www.docker.com/).
Шаг 1. Настройте приложение Node.js
Предполагая, что у вас уже есть приложение Node.js, создайте новый каталог для своего проекта (если вы еще этого не сделали) и перейдите к нему в своем терминале.
Шаг 2: Создайте Dockerfile
Dockerfile — это текстовый файл, содержащий инструкции по созданию изображения Docker. Создайте новый файл с именем Dockerfile в корневом каталоге вашего проекта и откройте его в текстовом редакторе.
Добавьте следующий контент в свой Dockerfile:
FROM node: 18-alpine
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
# If you are building your code for production
# RUN npm ci --omit=dev
COPY . .
EXPOSE 3000
CMD [ "node", "server.js" ]
Давайте рассмотрим, что делает каждая строка:
FROM node:18-alpine:Указывает базовый образ для использования. В данном случае мы используем официальный образ Node.js 14WORKDIR /usr/src/app:Задает рабочий каталог в контейнере.COPY package*.json ./:Копирует файлы package.json и package-lock.json в рабочий каталог.RUN npm install:Устанавливает зависимости приложения.COPY . .:Копирует остальную часть исходного кода приложения в рабочий каталог.EXPOSE 3000: Открывает порт, который слушает ваше приложение (при необходимости измените номер порта).CMD ["node", "app.js"]:Определяет команду для запуска вашего приложения Node.js.
Сохраните Dockerfile.
Шаг 3. Создайте изображение Docker
В терминале перейдите в корневой каталог вашего проекта (где находится Dockerfile).
Выполните следующую команду, чтобы создать изображение Docker:
docker build -t your-image-name .
Обязательно заменитеyour-image-nameна желаемое имя для вашего изображения Docker. Точка(.) в конце указывает контекст сборки как текущий каталог.
Теперь Docker выполнит инструкции в Dockerfile и создаст изображение. Это может занять некоторое время, особенно если вы запускаете эту команду впервые, так как Docker необходимо загрузить базовое изображение и установить зависимости.
Шаг 4. Запустите контейнер Docker
После создания изображения Docker вы можете создать контейнер и запустить приложение Node.js с помощью следующей команды:
docker run --name your-container-name -p 3000:3000 your-image-name
Эта команда сопоставляет порт 3000 вашего контейнера с портом 3000 на вашем компьютере, что позволяет вам получить доступ к приложению на http://localhost:3000. Заменитеyour-image-nameименем, которое вы указали при создании изображения.
Теперь вы должны увидеть, что ваше приложение Node.js работает внутри контейнера Docker.
Заключение
Докеризация приложения Node.js дает несколько преимуществ, включая простоту развертывания, согласованные среды и улучшенную масштабируемость. Выполнив шаги, описанные в этом блоге, вы узнали, как создать Dockerfile, создать изображение Docker и запустить контейнер Docker для своего приложения Node.js.