Файл настроек в Docker
Файл настроек в conf.d
заменяет стандартный сервер
и задаёт корень сайта.
Путь /etc/nginx/conf.d/default.conf
в образе уже занят
встроенным виртуальным хостом,
и свой файл монтируют
поверх этой записи.
Блок server
слушает 80
и указывает корень
/usr/share/nginx/html -
тот же каталог,
куда кладут страницы
в предыдущих примерах.
Содержимое default.conf:
server {
listen 80;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Страница 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:
- ./site:/usr/share/nginx/html
- ./default.conf:/etc/nginx/conf.d/default.conf
После подъёма в фоне
откроем localhost:8080
и увидим hello
из разметки.
Запуск проекта:
docker compose up -d
Подключите к сервису land свой default.conf с корнем /usr/share/nginx/html и страницей со словом cfg на порту 8088 компьютера.
Откройте сайт в браузере и сравните текст с файлом index.html на диске.