Код на хосте в Docker
Код на хосте лежит в папке
проекта, и правка файла
видна серверу без новой
сборки образа.
Том связывает каталог
на диске с /app
внутри копии на node:24.
Файл app/server.js
слушает порт 3000
на 0.0.0.0 и отдаёт
слово hello:
const http = require('node:http');
const server = http.createServer((req, res) => {
res.end('hello');
});
server.listen(3000, '0.0.0.0');
Слева в томе - папка
./app, справа -
рабочий каталог /app.
Готовый образ без build,
порт 3000 наружу,
запуск напрямую через node.
Файл compose.yaml:
services:
web:
image: node:24
ports:
- "3000:3000"
volumes:
- ./app:/app
working_dir: /app
command: ["node", "server.js"]
После подъёма в фоне
адрес localhost:3000
покажет hello.
Правка app/server.js
достаточна для нового текста
после обновления страницы.
Запуск проекта:
docker compose up -d
Опишите сервис dev на node:24 с папкой ./code в /app и ответом dev на порту 3000.
Измените слово в смонтированном server.js и обновите страницу в браузере.