
egghead
Проект egghead.io представляет огромный выбор курсов и скринкастов для разработчиков любого уровня и профессии.
Build a Simple Node.js Web Server with Docker
Освойте базовые навыки контейнеризации и узнайте, как быстро развернуть простой веб‑сервер на Node.js с помощью Docker. Этот урок поможет вам понять ключевые этапы создания Dockerfile, сборки образа и запуска контейнера, чтобы ваш сервер начал работать всего за несколько команд.
Мы последовательно разберём каждый этап процесса, чтобы даже начинающий разработчик мог уверенно развернуть свой первый Node.js сервер внутри контейнера.
Начнём с небольшого JavaScript‑файла, который отвечает на HTTP‑запросы. Он станет основой вашего контейнеризованного приложения.
const http = require('http');
const port = 3000;
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Node.js сервер работает внутри Docker!');
});
server.listen(port, () => {
console.log(`Server running on port ${port}`);
});
Dockerfile содержит набор инструкций, описывающих, как собрать образ. Ниже приведён типовой вариант для Node.js‑приложения.
FROM node:18
WORKDIR /app
COPY . .
RUN npm install
EXPOSE 3000
CMD ["node", "server.js"]
После подготовки Dockerfile можно собрать образ, который станет основой будущего контейнера.
docker build -t my-node-app .
Когда образ готов, остаётся только запустить контейнер и проверить работу сервера.
docker run -p 3000:3000 my-node-app
Откройте браузер и перейдите по адресу http://localhost:3000. Если всё сделано правильно, вы увидите текст ответа, отправленный сервером.
Теперь вы умеете создавать простые веб‑приложения на Node.js и размещать их внутри Docker‑контейнеров. Это фундаментальный навык, который пригодится при разработке масштабируемых, повторяемых и удобных для развертывания приложений.

Проект egghead.io представляет огромный выбор курсов и скринкастов для разработчиков любого уровня и профессии.