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

Переменные приложения в Docker

Переменные приложения передают скрипту значение, не зашивая его в файл. Строка в описании службы попадает в process.env и меняет ответ без пересборки образа, если код уже внутри шаблона.

Скрипт читает SITE и отдаёт это слово телом ответа на порту 3000:

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

Код кладут в образ при сборке. Том для папки проекта здесь не нужен - урок про переменную, а не про монтирование. Файл Dockerfile:

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

Сервис собирается из точки, публикует порт и задаёт SITE со значением demo. Файл compose.yaml:

services: web: build: . ports: - "3000:3000" environment: SITE: demo

После подъёма в фоне страница покажет слово demo без правки server.js. Запуск проекта:

docker compose up -d --build

Задайте сервису mark переменную TAG со значением mark и отдайте её текстом страницы на порту 3000.

Сверьте адрес localhost:3000 с заданным значением переменной.

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