nginx-routes/README.MD

46 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Nginx Routes Helper
Специальный образ NGINX, который упрощает работу с проксированием портов между разными сетками у докер контейнеров.
По-умолчанию установлены утилиты для работы с роутами.
# Пре-стартовый скрипт
При старте контейнера происходит проверка на наличие скрипта, который должен быть выполнен в самом начале.
Скрипт располагается в `/invoke_initial_script.sh`, собственно сюда его и надо монтировать.
Например, требуется добавить роуты в контейнер при его старте.
`/invoke_initial_script.sh`:
```bash
#!/usr/bin/env bash
echo "Adding routes..."
ip route add 192.168.255.0/24 via 172.20.20.2
echo "Routes added!"
```
Тут может быть совершенно что угодно, этот скрипт выполнится до старта NGINX.
# Проброс портов по-умолчанию
Если пользователь не примонтирует свой `/etc/nginx/nginx.conf`, то по-умолчанию будет использоваться
обычный `stream` прокси с порта на адрес. Слушаемый порт и целевой адрес указываются через переменные окружения:
- `NGINX_PROXY_SOURCE_PORT` - Порт (например `80`), который слушает NGINX
- `NGINX_PROXY_TARGET_ADDRESS` - Адрес и порт (например `localhost:25565`), куда будет отправляться трафик
Пример использования в `docker-compose`:
```yml
version: '3.7'
services:
test-nginx:
image: "git.tswf.io/docker-base-images/nginx-routes:latest"
ports:
- "25565:25565"
environment:
NGINX_PROXY_SOURCE_PORT: 25565
NGINX_PROXY_TARGET_ADDRESS: "another_container:9000"
another_container:
image: "blablabla"
#...
```