Перейти к содержимому
Главная страница » Развертывание Express.js приложения в Docker

Развертывание Express.js приложения в Docker

Привет, друзья! Сегодня я хочу поговорить с вами о том, как развернуть приложение, созданное с использованием Express.js, в Docker контейнере. Docker – это открытая платформа для автоматизации развертывания, доставки и запуска приложений. Он позволяет упаковывать приложения и все их зависимости в единую сущность – контейнер, который можно запускать на любой платформе, где установлен Docker.

Что нам понадобится

Перед тем, как начать, нам понадобятся следующие инструменты:

  • Docker – его можно загрузить с официального сайта Docker;
  • Node.js и NPM – чтобы разрабатывать приложение на Express.js;
  • Опционально: Git – для управления версиями и выкладывания приложения на площадки;
  • Редактор кода – любой по вашему выбору (например, VS Code).

Шаг 1: Создание Express.js приложения

Первым шагом я создам простое Express.js приложение. Для этого я установлю необходимые зависимости и создам файл server.js с основным кодом серверной части.

1.1 Установка Express.js

Откройте терминал и перейдите в папку, где хотите создать приложение. Затем выполните следующую команду:

$ npm install express

Это установит Express.js в ваш проект.

1.2 Создание основного кода сервера

Откройте редактор кода и создайте файл server.js. Вставьте следующий код:

// импортируем необходимые модули
const express = require('express');

// создаем экземпляр приложения Express.js
const app = express();

// добавляем маршрут "/"
app.get('/', (req, res) => {
    res.send('Привет, мир!');
});

// запускаем сервер
app.listen(3000, () => {
    console.log('Сервер запущен на порту 3000');
});

Теперь Express.js приложение готово к развертыванию!

Шаг 2: Создание Dockerfile

Далее создадим файл Dockerfile, который описывает настройки для создания Docker образа на основе нашего приложения.

2.1 Создание Dockerfile

Создайте файл Dockerfile в корневой папке проекта. Вставьте следующий код:

# создаем образ на основе Node.js
FROM node

# устанавливаем рабочую директорию
WORKDIR /app

# копируем package.json и package-lock.json
COPY package*.json ./

# устанавливаем зависимости
RUN npm install

# копируем остальные файлы проекта
COPY . .

# открываем порт 3000
EXPOSE 3000

# запускаем сервер Express.js
CMD ["node", "server.js"]

Этот файл определяет, что мы хотим создать образ на основе Node.js дистрибутива (инструкция FROM node). Затем мы устанавливаем рабочую директорию и копируем файлы package.json и package-lock.json. После этого устанавливаем зависимости (инструкция RUN npm install), копируем остальные файлы проекта и открываем порт 3000 (инструкция EXPOSE 3000). В конце мы запускаем сервер Express.js командой CMD ["node", "server.js"].

2.2 Сборка Docker образа

Теперь мы можем создать Docker образ при помощи следующей команды:

$ docker build -t my-express-app .

Команда docker build создает образ на основе Dockerfile в текущей директории, а опция -t задает тег для образа. В нашем случае тегом будет my-express-app.

Шаг 3: Запуск контейнера

Наконец, мы можем запустить контейнер из созданного ранее Docker образа.

3.1 Запуск контейнера

Выполните следующую команду, чтобы запустить контейнер:

$ docker run -p 3000:3000 my-express-app

Команда docker run запускает контейнер на основе указанного образа, а опция -p 3000:3000 пробрасывает порт 3000 из контейнера на хост машину.

Теперь вы можете открыть браузер и перейти по адресу http://localhost:3000, чтобы увидеть свое развернутое Express.js приложение!

Заключение

В этой статье мы рассмотрели, как развернуть Express.js приложение в Docker контейнере. Мы создали простое Express.js приложение, создали Dockerfile для описания настроек создания Docker образа, собрали Docker образ и запустили контейнер. Теперь ваше приложение можно легко развернуть на любой платформе, где установлен Docker.

Спасибо за внимание! Удачи в разработке!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *