Код на хосте в Docker
Код на хосте монтируют в каталог сайта, и правка страницы видна без пересборки. Файлы остаются в рабочей папке на компьютере, а контейнер видит тот же каталог по пути статики nginx.
Запись тома использует
переменную текущего каталога
в кавычках,
чтобы путь не ломался
при пробелах в имени папки.
Слева -
$PWD/site,
справа -
/usr/share/nginx/html.
В site/index.html
по-прежнему слово
hello:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>page</title>
</head>
<body>
hello
</body>
</html>
Сервис web
публикует порты
8080
и 80
в паре из описания.
Файл compose.yaml:
services:
web:
image: nginx:1.30
ports:
- "8080:80"
volumes:
- "$PWD/site:/usr/share/nginx/html"
После фонового подъёма
страница по адресу
localhost:8080
покажет hello.
Достаточно изменить текст
в site/index.html
и обновить вкладку браузера -
пересборка образа
и перезапуск контейнера
для этого не нужны.
Запуск проекта:
docker compose up -d
Опишите сервис land с томом $PWD/site:/usr/share/nginx/html и ответом live в index.html на порту 8080 хоста.
Измените слово в файле на диске, обновите страницу в браузере и сравните с содержимым файла.