تكوين عامل الميناء لعدم استخدام نطاق 172.17.0.0

بسبب مشاكل مع بوابات الأسير ونطاق إب عامل الميناء الافتراضي أحاول جعل عامل الميناء استخدام نطاق 198.18.0.0 ، بدلا من 172.17.0.0 ، الذي يتعارض مع البوابات الأسيرة المستخدمة في القطارات التي أعيش فيها.

التالية المستندات، أنا خلقت /etc/docker/daemon.json، ووضع ما يلي فيه:

{    "bip":"198.18.0.0/16"}

هذا عمل ل دوكر 0 ، ولكن يبدو أنه لم يؤثر على أي من الشبكات الأخرى ، واستخدام دوكر يؤلف الشبكة الأولى التي تم إنشاؤها هو 172.17.0.0 ، الذي يعيد الاشتباك.

ما الذي يمكنني فعله لتغيير الشبكة الفرعية الافتراضية لـ الكل شبكات عامل الميناء (ويفضل دون الحاجة إلى الدولة بلدي نطاق الملكية الفكرية المخصصة في كل ملف يؤلف)?

من الممكن إعادة تعريف النطاق الافتراضي.

$ docker -vDocker version 18.06.0-ce, build 0ffa825

تحرير أو إنشاء ملف التكوين لعامل الميناء الخفي:

# nano /etc/docker/daemon.json

إضافة خطوط:

{  "default-address-pools":  [    {"base":"10.10.0.0/16","size":24}  ]}

إعادة تشغيل دوكرد:

# service docker restart

تحقق من النتيجة:

$ docker network create foo$ docker network inspect foo | grep Subnet                    "Subnet": "10.10.1.0/24"

وهو يعمل لعامل الميناء-يؤلف أيضا. مزيد من المعلومات هنا https://github.com/moby/moby/pull/29376 (مدمج)

هناك ثلاثة أماكن عامل الميناء سوف تولد الشبكات الفرعية الشبكة.

  • الجسر الافتراضي
  • شبكات الجسور التي أنشأها المستخدم
  • وضع سرب شبكات تراكب ولدت

للجسر الافتراضي (يسمى "جسر") ، يمكنك تحديد بيب (أعتقد أن هذا جسر إب; تأكد من انها إب المضيف ، وليس إب الشبكة) في ال daemon.json الملف. وبالنسبة لشبكات الجسر التي أنشأها المستخدم ، يمكنك تحديد تجمع شبكة فرعية للاختيار من بينها (على افتراض أن المستخدم لا يحدد شبكة فرعية يدويا). لهذين, الخاص بك /etc/docker/daemon.json سوف تبدو وكأنها:

{  "bip": "10.200.0.1/24",  "default-address-pools":[    {"base":"10.201.0.0/16","size":24},    {"base":"10.202.0.0/16","size":24}  ]}

يحدد كل إعداد تجمع العناوين أعلاه نطاق سيدر وحجم الشبكات الفرعية التي سيتم تخصيصها من هذا النطاق. لذا فإن ما سبق يحدد نطاقين من الفئة ب يتم تخصيصهما كشبكات من الفئة ج (/24). تحتاج إلى 18.06 على الأقل لتجمعات العناوين الافتراضية. سوف تحتاج إلى إعادة تحميل الخفي عامل الميناء لهذا التغيير لتطبيق (systemctl reload docker). ولن يؤدي هذا التغيير إلا إلى تعديل شبكات المستخدمين التي تم إنشاؤها حديثا ، لذلك ستحتاج إلى إيقاف الحاويات وحذف الشبكات الموجودة في النطاق الخطأ.


في 18.09 ، وأضاف عامل الميناء القدرة على تحديد نطاق عنوان لوضع سرب ولدت شبكات تراكب. لا يمكن القيام بذلك إلا في وقت إنشاء السرب في الوقت الحالي ، ونأمل أن يتم تحديثه في المستقبل للسماح بذلك docker swarm update لضبط هذه المجمعات:

$ docker swarm init \  --default-addr-pool 10.202.0.0/16 \  --default-addr-pool 10.203.0.0/16 \  --default-addr-pool-mask-length 24

أنا استخدم سطح المكتب عامل الميناء في ويندوز نظام التشغيل وحاولت تغيير الملكية الفكرية الجسر الافتراضي.

عامل الميناء يلقي خطأ وطلب مني إعادة تعيين الإعدادات في كل مرة حاولت تغيير فقط بيب في الإعدادات.

هذا عمل: (يجب أن الغوص العميق وفهم كيف يعمل)

{  "bip": "192.168.1.5/24",   "fixed-cidr": "192.168.1.5/25",   "default-address-pools":[      { "base":"192.168.2.5/24", "size":28 }  ]}

تكوين شبكة الجسر الافتراضي: "Configure لتكوين شبكة الجسر الافتراضية ، يمكنك تحديد الخيارات في البرنامج الخفي.(جسون). هنا مثال الخفي.جسون مع العديد من الخيارات المحددة. حدد فقط الإعدادات التي تحتاج إلى تخصيصها. …"

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

قد يكون وحشيا بعض الشيء ولكن أنا ببساطة القيام به sudo ifconfig docker0 down لاغلاق واجهة أن يتعارض مع واي فاي أحاول استخدام.