عقدة عامل الميناء مع عناوين إب متعددة-التبديل بينهما

يبدو تكوين الشبكة الخاص بي شيئا كهذا على مضيف عامل الميناء:

➜  server git:(master) ✗ ip addr3: ens9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000    link/ether 00:02:c9:bb:3b:f4 brd ff:ff:ff:ff:ff:ff    inet <IP Address>.18/29 brd <Default Gateway>.23 scope global ens9       valid_lft forever preferred_lft forever    inet <IP Address>.19/29 brd <Default Gateway>.23 scope global secondary ens9:0       valid_lft forever preferred_lft forever

حاليا ، لدي خدمات غير عامل ميناء موجودة تعمل على المنفذ 443 على ال .18 عنوان بروتوكول الإنترنت ، وأنا بحاجة للحفاظ على هذا النحو. ومع ذلك ، عند فتح منفذ باستخدام Dockerfile، فشل في البدء لأن المنفذ 443 هو بالفعل قيد الاستخدام من قبل المضيف.

هل هناك طريقة للتبديل عالميا عنوان إب الذي يستخدم عامل الميناء عند فتح منفذ حتى? أنا لا أريد أن يكون لتعيين هذا يدويا على ملف التكوين كل حاوية ، والتي بالطبع يعمل بالفعل.

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

version: '2'networks:  custom-network:    ipam:      driver: default      config:        - subnet: 73.0.0.0/16          ip_range: 73.0.0.0/24          gateway: 73.0.0.254services:  simple-nginx:    image: nginx    networks:      custom-network:        ipv4_address: 73.0.0.10

والوصول إلى خدمة إنجن إكس باستخدام إب ثابت 73.0.0.10 لشبكة مخصصة.

لمزيد من المعلومات ، يمكنك دائما التحقق من مستندات الشبكات لإنشاء عامل ميناء:https://docs.docker.com/compose/networking/

أو مباشرة مستندات عامل الميناء:https://docs.docker.com/engine/userguide/networking/