Docker Guide · 4 min read · Feb 05, 2026
Руководство по Docker: Докеризация приложения Nodejs Express на Ubuntu 18.04

Docker — это проект с открытым исходным кодом, который предоставляет открытую платформу для разработчиков и системных администраторов для создания, упаковки и запуска приложений в любом месте в виде легковесного контейнера. Docker автоматизирует развертывание приложений внутри программных контейнеров.
Nodejs — это среда выполнения JavaScript с открытым исходным кодом. Это многоплатформенная среда выполнения, которую можно установить на Linux, Windows, MacOS, FreeBSD и т. д. Nodejs очень полезен для создания как серверных, так и настольных приложений.
В этом учебном пособии я покажу вам, как создать образ docker для существующего проекта приложения Nodejs Express в Ubuntu 18.04. Мы узнаем о докеризации приложения Nodejs, а затем развернем приложение в виде контейнера в среде docker с помощью скрипта docker-compose.
Предварительные условия
- Ubuntu 18.04
- Привилегии root
Что мы будем делать
- Установить Docker CE
- Установить Docker-Compose
- Настроить проект Nodejs Express
- Собрать проект
- Тестирование
Шаг 1 - Установить Docker CE
В этом учебном пособии мы установим редакцию сообщества docker-ce из репозитория docker. Мы установим редакцию сообщества docker-ce и docker-compose, который поддерживает версию файла compose 3.
Перед установкой docker-ce установите необходимые зависимости docker с помощью команды apt.
sudo apt install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-commonТеперь добавьте ключ и репозиторий docker, выполнив команды ниже.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Установите пакет docker-ce.
sudo apt install docker-ceПосле завершения установки запустите службу docker и включите ее, чтобы она запускалась каждый раз при загрузке системы.
systemctl start docker
systemctl enable docker
Далее мы предоставим обычному пользователю привилегии для запуска и управления контейнером docker.
Добавьте нового пользователя с именем ‘mohammad’ и добавьте его в группу docker.
useradd -m -s /bin/bash mohammad
usermod -a -G docker mohammadТеперь войдите как пользователь ‘mohammad’ и запустите контейнер docker hello-world.
su - mohammad
docker run hello-worldИ вы получите результат, как показано ниже.

Шаг 2 - Установить Docker-Compose
На этом шаге мы установим docker-compose вручную из двоичного файла, который можно скачать с GitHub. Мы установим последнюю версию docker-compose, которая будет поддерживать compose v3.
Скачайте последнюю версию 1.22.0 docker-compose с помощью команды curl в директорию ‘/usr/local/bin’, а затем сделайте ее исполняемой с помощью chmod.
Выполните команды ниже.
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeИ последняя версия docker-compose была установлена, проверьте, выполнив команду docker-compose ниже.
docker-compose versionСледующий результат.

Шаг 3 - Настроить проект Nodejs Express
В этом разделе мы настроим среду приложения Nodejs. Мы будем использовать простое приложение nodejs, которое можно сгенерировать с помощью ‘express-generator’.
Войдите в пользователя ‘mohammad’.
su - mohammadСоздайте новую директорию с именем ‘project’ и перейдите в нее.
mkdir -p project
cd projectТеперь сгенерируйте простое приложение hello-word nodejs с помощью команды ‘express’ ниже.
express hakase-appПримечание:
Убедитесь, что nodejs, npm и пакеты ‘express-generator’ установлены в системе.
И вы получите простое приложение nodejs express в директории ‘hakase-app’.

Далее мы создадим наш собственный образ docker для приложения ‘hakase-app’ nodejs.
В директории ‘project’ создайте новый ‘Dockerfile’ с помощью vim.
vim DockerfileВставьте следующую конфигурацию образа docker.
FROM node:8.11.4-alpine
RUN mkdir -p /src
RUN npm install express-generator -g
WORKDIR /src
ADD hakase-app/package.json /src/package.json
RUN npm install
EXPOSE 3000
CMD node hakase-app/bin/wwwСохраните и выйдите.

Мы создаем новый пользовательский образ docker для нашего приложения nodejs со следующими спецификациями.
- Пользовательский образ основан на официальном образе nodejs версии 8.11.4 alpine.
- Мы создаем новую директорию для нашего проекта ‘/src’.
- Устанавливаем ‘express-generator’ в пользовательский образ.
- Добавляем файл ‘package.json’, который содержит профиль приложения и необходимые пакеты, в директорию ‘/src’.
- Устанавливаем все необходимые пакеты nodejs для проекта на основе файла ‘package.json’.
- Экспортируем порт 3000 с командой запуска по умолчанию ‘node hakase-app/bin/www’.
Далее мы создадим пользовательский образ на основе скрипта docker-compose.
Создайте новый yml файл ‘docker-compose.yml’ с помощью vim.
vim docker-compose.ymlВставьте следующую конфигурацию.
version: '3'
services:
hakase-app:
build: .
volumes:
- ./hakase-app:/src/hakase-app
ports:
- "3000:3000"
restart: alwaysСохраните и выйдите.

Мы создаем новую службу docker с именем ‘hakase-app’, и в то же время мы строим пользовательский образ docker на основе ‘Dockerfile’ в директории проекта и автоматически смонтируем файлы приложения hakase-app.
Настройка Nodejs Express завершена.
Шаг 4 - Собрать и запустить проект
Войдите как пользователь ‘mohammad’ и перейдите в директорию ‘project’
su - mohammad
cd project/Соберите образ и создайте службу docker hakase-app, используя команду docker-compose ниже.
docker-compose buildТеперь вы получите результат, как показано ниже.

И когда это завершится, запустите службу docker ‘hakase-app’.
docker-compose up -dСледующий результат.

Пользовательский образ docker для нашего приложения Nodejs был создан, и служба docker hakase-app запущена.
Шаг 5 - Тестирование
Показать доступные образы docker на сервере.
docker-compose images
docker images
Новый пользовательский образ docker для нашего приложения Nodejs был создан.
Показать запущенную службу docker.
docker-compose ps
docker psПриложение Nodejs запущено и работает на порту 3000 хоста.
Откройте веб-браузер и введите IP-адрес сервера с портом.
И вы получите простую страницу express.
Докеризация приложения Nodejs Express на Ubuntu 18.04 была успешно завершена.
Ссылки
Get new posts in your inbox
No spam. Unsubscribe anytime.