يقوم nginx-proxy بإعداد حاوية تقوم بتشغيل nginx وdocker-gen. ينشئ docker-gen تكوينات وكيل عكسية لـ nginx ويعيد تحميل nginx عند بدء تشغيل الحاويات وإيقافها.
راجع وكيل Nginx Reverse Proxy التلقائي لـ 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
إلى حاوية مع تعيين VIRTUAL_HOST
env var على foo.bar.com
(في هذه الحالة، حاوية تطبيقك الوكيل ).
يجب على الحاويات التي يتم توكيلها أن:
EXPOSE
في Dockerfile
الخاص به أو باستخدام علامة --expose
docker run
أو docker create
.--net
عند إنشاء حاوية nginx-proxy، فسيتم ربطها فقط بشبكة الجسر الافتراضية. وهذا يعني أنه لن يتمكن من الاتصال بالحاويات الموجودة على شبكات أخرى غير الجسر. ملاحظة: لا يتم دعم توفير رقم منفذ في VIRTUAL_HOST
، يرجى الاطلاع على المنافذ الافتراضية أو منافذ HTTP/HTTPS الخارجية المخصصة اعتمادًا على ما تريد تحقيقه.
تتوفر صور nginx-proxy بنكهتين.
هذه الصورة مبنية على صورة nginx:mainline، وهي نفسها مبنية على صورة دبيان النحيفة.
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 الخاص بك لخطر تجربة تحديثات غير خاضعة للرقابة للإصدارات غير المتوافقة مع الإصدارات السابقة (أو الإصدارات ذات التغييرات العاجلة). يجب عليك دائمًا تحديد الإصدار الذي تريد استخدامه بشكل صريح لضمان عدم انقطاع الإعداد عند تحديث الصورة.
يرجى مراجعة قسم المستندات.