nginx-proxy устанавливает контейнер, на котором работают nginx и docker-gen. docker-gen генерирует конфигурации обратного прокси-сервера для nginx и перезагружает nginx при запуске и остановке контейнеров.
См. раздел «Автоматический обратный прокси-сервер Nginx для Docker», чтобы узнать, почему вы можете его использовать.
Чтобы запустить его:
docker run --detach
--name nginx-proxy
--publish 80:80
--volume /var/run/docker.sock:/tmp/docker.sock:ro
nginxproxy/nginx-proxy:1.6
Затем запустите любые контейнеры (здесь контейнер nginx), которые вы хотите проксировать, с помощью env var VIRTUAL_HOST=subdomain.yourdomain.com
docker run --detach
--name your-proxied-app
--env VIRTUAL_HOST=foo.bar.com
nginx
Если ваш DNS настроен на разрешение foo.bar.com
хосту, на котором работает nginx-proxy, запрос к http://foo.bar.com
будет затем перенаправлен в контейнер с переменной env VIRTUAL_HOST
, установленной в foo.bar.com
(в данном случае контейнер вашего прокси-приложения ).
Проксируемые контейнеры должны:
EXPOSE
в их Dockerfile
, либо с помощью флага --expose
для docker run
или docker create
.--net
при создании контейнера nginx-proxy, он будет подключен только к мостовой сети по умолчанию. Это означает, что он не сможет подключаться к контейнерам в сетях, отличных от моста. Примечание. Указание номера порта в VIRTUAL_HOST
не поддерживается. См. раздел «Виртуальные порты» или «Настраиваемые внешние порты HTTP/HTTPS» в зависимости от того, чего вы хотите достичь.
Образы nginx-proxy доступны в двух вариантах.
Этот образ основан на образе nginx:mainline, который в свою очередь основан на тонком образе Debian.
docker pull nginxproxy/nginx-proxy:1.6
-alpine
)Этот образ основан на образе nginx:alpine.
docker pull nginxproxy/nginx-proxy:1.6-alpine
latest
и alpine
: Не рекомендуется использовать latest
( nginxproxy/nginx-proxy
, nginxproxy/nginx-proxy:latest
) или alpine
( nginxproxy/nginx-proxy:alpine
) тег для производственных настроек.
Эти теги указывают на последний коммит в main
ветке. Они не обещают никакой стабильности, и их использование, вероятно, подвергнет вашу настройку nginx-proxy риску неконтролируемых обновлений до необратимо совместимых версий (или версий с критическими изменениями). Всегда следует явно указывать версию, которую вы хотите использовать, чтобы гарантировать, что ваша установка не нарушится при обновлении образа.
Пожалуйста, проверьте раздел документации.