Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fandeco/docker_ports

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проброс портов в nginx

Задача этого скрипт отслеживать изменения в докере и записывать контенеры с портами в файл и затем подключать их в nginx

После каждого stop или start контенера происходит запись в файл

1 Запись портов в файл

/etc/nginx/includes/docker_ports

и выполняется команда чтобы применить новый порты из файла

nginx reload

2. Подключение портов в nginx

В конфигурацию nginx любого сайта добавляется следующий код


# здесь объявляем переменную $container_docker и $pma_port 
# в $pma_port запишется наш порт с контенером
map $container_docker $pma_port {
    # порты всех контенеров
    include "/etc/nginx/includes/docker_ports";
}
server {
    server_name phpmyadmin.divinare.kz;
    
    
    # записиывам порт контенера в $pma_port
    set $container_docker divinare-kz-$container_prefix-phpmyadmin-1;
    
    # Пример проксирования
    location ~ \/pma {
        rewrite ^/pma(/.*)$ $1 break;
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-For $remote_addr;

        # сюда передает порт контенера $pma_port
        proxy_pass      http://127.0.0.1:$pma_port;
    }
}

About

Скрипт по автоматическому определению на каком порту сидит docker чтобы в nginx можно было прокинуть прокси по имени контенера

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors