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.