РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcNdDvEx 15 of 39 menu
◀ ▶

Команда в контейнере в Docker

Команда в контейнере выполняется внутри уже работающего сервиса и не заменяет его главный процесс. Сервер на node уже ждёт соединений, отдельный sleep для демонстрации не нужен.

Скрипт слушает 3000 и отдаёт hello:

const http = require('node:http'); const server = http.createServer((req, res) => { res.end('hello'); }); server.listen(3000, '0.0.0.0');

Образ собирается из Dockerfile на node:24:

FROM node:24 WORKDIR /app COPY server.js . CMD ["node", "server.js"]

Сервис web в фоне с парой портов 3000. Файл compose.yaml:

services: web: build: . ports: - "3000:3000"

Подъём в фоне оставит главный процесс node в работе. Запуск проекта:

docker compose up -d --build

Короткий вызов node напечатает inner в ту же копию, где уже слушает сервер:

docker compose exec web node -e "console.log('inner')"

В работающем сервисе api запустите короткий вызов node, который напечатает ping, не останавливая сервер.

Откройте localhost:3000 и убедитесь, что ответ страницы не пропал.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить