نجينكس داخل حاوية عامل الميناء لا يمكن التحدث إلى حاويات أخرى (تشغيل جنكينز)

أحاول إعداد وكيل نجينكس داخل عامل الميناء الذي سوف يستمع لحركة المرور على الشبكة ومن ثم على أساس فيرتوالهوستس حركة المرور إلى الأمام إلى حالات جنكينز ديفيريرات تعمل أيضا داخل حاويات عامل الميناء. لتنسيق هذا يمكنني استخدام عامل الميناء يؤلف.

لقد تمكنت من:

  • بدء حالات جنكينز والتحدث معهم مباشرة
  • بدء إنجن إكس وتكوينه ليكون بمثابة وكيل لخادم ويب يعمل على مضيف آخر

ولكن عندما أحاول السماح للخادم نجينكس توجيه حركة المرور داخل عامل الميناء أنا غير قادر على الحصول على العمل ، مجرد الحصول على 502 حقيبة أخطاء بوابة والمتابعة في سجلات نجينكس:

[error] 6#6: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.17.0.1, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8081/", host: "localhost:8080"

الأجزاء ذات الصلة من بلدي عامل الميناء-يؤلف.يمل:

httpd:  build: httpd  ports:      - "8080:8080"  links:      - "server_jenkins"      - "clients_jenkins"  restart: alwaysserver_jenkins:  image: jenkins  ports:      - "8081:8080"  restart: alwaysclients_jenkins:  image: jenkins  ports:      - "8082:8080"  restart: always

يبدو هتبد / دوكيرفيل مثل هذا:

FROM nginxRUN rm -rf /etc/nginxCOPY config /etc/nginx/

والأجزاء ذات الصلة من إنجن إكس.أسيوط يبدو مثل هذا (فقط بروكسينغ واحد جينكينز المثال):

http {    server {        listen       8080;        server_name server.build.example.com;        root /tmp;        location / {            proxy_pass   http://127.0.0.1:8081;        }    }    server {        listen       8080;        server_name clients.build.example.com;        root /tmp;        location / {            proxy_pass   http://127.0.0.1:8082;        }    }}

لقد حاولت المتغيرات التالية من أول عنوان ورل بروكسي باس (وبعض الدول الأخرى التي لا أتذكر):

عند تشغيل مع x س الشبكات لقد غيرت عبارات الارتباط إلى اسم _ الحاويات في عامل الميناء يؤلف.يمل

الإصدارات:

  • عامل الميناء: 1.9.1 ، بناء أ 34 أ 1 د 5
  • عامل الميناء-يؤلف: 1.5.2 ، بناء 7240 وما إلى ذلك 3
  • نظام التشغيل: دبيان 8 (يعمل داخل فيرتثلبوإكس)

أقوم بحذف إجابتي السابقة لأنني كنت أجيب على شيء مختلف تماما.لقد وجدت مشكلتك, انها ال http://127.0.0.1 والموانئ التي هي خاطئة, 127.0.0.1 داخل أسيوط إنجن إكس يعني httpd الحاوية نفسها في هذه الحالة ليس المضيف.

إذا قمت بإعادة تعريف ذلك إلى server_jenkins و clients_jenkins وأيضا لاحقة 8080 منفذ لكل من هؤلاء ، ثم يجب أن تعمل.

server {    listen       8080;    server_name server.build.example.com;    root /tmp;    location / {        proxy_pass   http://server_jenkins:8080;    }}server {    listen       8080;    server_name clients.build.example.com;    root /tmp;    location / {        proxy_pass   http://clients_jenkins:8080;    }}

أيضا ، لاحظت أن التوجيه هتب يسبب أخطاء ، ولكن كما ذكرت الملف الذي قدمته يمكن أن يكون مجرد مقتطف.

وجدت المشكلة.كنت مرتبكا حول كيفية عمل الخرائط.

تكوين العمل: عامل الميناء-يؤلف.يمل:

httpd:  build: httpd  ports:      - "8080:8080"  links:      - "server_jenkins"      - "clients_jenkins"  restart: alwaysserver_jenkins:  image: jenkins  restart: alwaysclients_jenkins:  image: jenkins  restart: always

إنجن إكس.أسيوط:

http {    server {        listen       8080;        server_name server.build.example.com;        root /tmp;        location / {            proxy_pass   http://server_jenkins:8080;        }    }    server {        listen       8080;        server_name clients.build.example.com;        root /tmp;        location / {            proxy_pass   http://client_jenkins:8080;        }    }}

أي. ليست هناك حاجة لرسم خرائط الموانئ.

يرجى تقديم رسائل خطأ واضحة. “[…] أنا غير قادر على الحصول عليه للعمل.[…]” لا يكفي على الإطلاق.

حسنا أحصل على 502-بوابة سيئة من خادم إنجن إكس عندما أذهب إلى المضيف المحلي: 8080