Files
learn-devops/docker/docker-compose.yaml
github-actions[bot] c232c9098c nginx-proxy:1.6.4 (#27)
Co-authored-by: Fedor Batonogov <f.batonogov@yandex.ru>
2024-11-25 10:16:26 +03:00

56 lines
2.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

services:
# Сервис для развертывания приложения с профилем "blue"
web-blue: &web
build:
context: .
environment:
- VIRTUAL_HOST=web # Виртуальный хост для NGINX
- VIRTUAL_PORT=8080 # Виртуальный порт для NGINX
expose:
- 8080
deploy:
resources:
limits:
cpus: "0.5" # Лимитированный доступ к ресурсам CPU
memory: 32M # Лимит памяти
restart: always # Перезапускать сервис при падении
profiles:
- blue
# Сервис для развертывания приложения с профилем "green"
web-green:
<<: *web # Используем настройки из сервиса web-blue
profiles:
- green
# NGINX-прокси
nginx-proxy:
image: nginxproxy/nginx-proxy:1.6.4-alpine
ports:
- 8080:8080 # Проксируем порт 8080 на хосте
healthcheck:
# Периодичность проверки состояния (5 секунд)
interval: 5s
# Максимальное время ожидания ответа (5 секунд)
timeout: 5s
# Количество попыток в случае неудачной проверки (5 попыток)
retries: 5
# Время ожидания перед началом проверок (3 секунды)
start_period: 5s
# Команда для выполнения теста
test: curl -f http://localhost:8080/ || exit 1
volumes:
# Монтируем сокет Docker
- /var/run/docker.sock:/tmp/docker.sock:ro
# Монтируем шаблон NGINX
- ./nginx.tmpl:/app/nginx.tmpl:ro
deploy:
resources:
limits:
cpus: '0.1' # Лимитированный доступ к ресурсам CPU
memory: 128M # Лимит памяти
restart: always
profiles:
- blue
- green