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

Свой образ в Docker

Свой образ копирует страницу и конфиг внутрь, и том для правки уже не нужен. Файлы попадают в слои шаблона шагом COPY, а не ADD и не через монтирование с компьютера при каждом запуске. Строка EXPOSE в файле шагов лишь описывает порт для читателя шаблона и сама по себе не публикует его на машину.

Страница site/index.html содержит слово hello:

<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>page</title> </head> <body> hello </body> </html>

Конфиг задаёт слушать 80 и отдавать файлы из /usr/share/nginx/html:

server { listen 80; root /usr/share/nginx/html; index index.html; location / { try_files $uri $uri/ =404; } }

Файл шагов берёт основу nginx:1.30, копирует оба файла и помечает порт для документации:

FROM nginx:1.30 COPY site/index.html /usr/share/nginx/html/index.html COPY default.conf /etc/nginx/conf.d/default.conf EXPOSE 80

Сервис web собирается из текущей папки, без строки image и без томов. Порт 8080 на компьютере связывают с 80 внутри копии - именно так откроем сайт в браузере. Файл compose.yaml:

services: web: build: . ports: - "8080:80"

Подъём в фоне с пересборкой создаст свежий шаблон и контейнер из него. Страницу по адресу localhost:8080 откроем после запуска:

docker compose up -d --build

Соберите сервис land из Dockerfile на nginx:1.30 со страницей land и конфигом без томов, с парой портов 8095 и 80.

Откройте localhost:8095 и зафиксируйте слово на странице.

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