Образ NGINX с установленными утилитами для управления роутами.
 
 
Go to file
amorozov b489675003
Gitea/docker-base-images/nginx-routes/pipeline/head This commit looks good Details
feature: added default port forwarding logic and readme
2023-09-08 11:31:39 +03:00
Dockerfile feature: added default port forwarding logic and readme 2023-09-08 11:31:39 +03:00
Jenkinsfile chore: fixed image name 2023-09-02 00:19:39 +03:00
README.MD feature: added default port forwarding logic and readme 2023-09-08 11:31:39 +03:00
docker-entrypoint.sh feature: added default port forwarding logic and readme 2023-09-08 11:31:39 +03:00

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), который слушает NGINX
  • NGINX_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"
    #...