amorozov
b489675003
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good
Details
|
||
---|---|---|
Dockerfile | ||
Jenkinsfile | ||
README.MD | ||
docker-entrypoint.sh |
README.MD
Nginx Routes Helper
Специальный образ NGINX, который упрощает работу с проксированием портов между разными сетками у докер контейнеров.
По-умолчанию установлены утилиты для работы с роутами.
Пре-стартовый скрипт
При старте контейнера происходит проверка на наличие скрипта, который должен быть выполнен в самом начале.
Скрипт располагается в /invoke_initial_script.sh
, собственно сюда его и надо монтировать.
Например, требуется добавить роуты в контейнер при его старте.
/invoke_initial_script.sh
:
#!/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
), который слушает NGINXNGINX_PROXY_TARGET_ADDRESS
- Адрес и порт (напримерlocalhost:25565
), куда будет отправляться трафик
Пример использования в docker-compose
:
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"
#...