أنا أواجه مشكلة مع حاويات عامل الميناء الخاصة بي على أوبونتو 14.04 لتر.عامل الميناء عملت بشكل جيد لمدة يومين ، ثم فجأة فقدت كل اتصال الشبكة داخل حاويات بلدي. إخراج الخطأ أدناه يؤدي في البداية لي أن أعتقد أنه كان لأن أبت-جيت يحاول حل دنس عبر إيبف 6.
أنا تعطيل إيبف 6 على الجهاز المضيف بلدي ولا يزال ، إزالة جميع الصور ، وسحبت قاعدة أوبونتو ، ولا تزال واجهت المشكلة.
لقد غيرت بلدي / الخ / حل.أسيوط خوادم الأسماء من خادم دنس المحلي إلى خوادم دنس العامة جوجل (8.8.8.8 و 8.8.4.4) ولا تزال لا حظ. أنا أيضا تعيين دنس إلى جوجل في دوكر-أوبتس من /الخ/الافتراضي/دوكر وإعادة تشغيل دوكر.
كما حاولت سحب كوريوس ، و يم لا يمكن حل دنس سواء.
انها غريبة لأنه في حين دنس لا يعمل ، ما زلت الحصول على رد عندما بينغ نفس خوادم التحديث التي أبت-جيت لا يمكن حلها.
أنا لست وراء وكيل ، وأنا على شبكة محلية قياسية جدا ، وهذا الإصدار من أوبونتو هو حتى الآن وجديدة (أنا ركبت قبل يومين لتكون أقرب إلى عامل الميناء).
لقد بحثت بدقة هذا من خلال وظائف أخرى على ستاكوفيرفلو وجيثب القضايا ، ولكن لم يتم العثور على أي قرار. أنا من الأفكار حول كيفية حل هذه المشكلة, يمكن لأي شخص أن يساعد?
رسالة خطأ
➜ arthouse git:(docker) ✗ docker build --no-cache .Sending build context to Docker daemon 51.03 MBSending build context to Docker daemon Step 0 : FROM ubuntu:14.04 ---> 5506de2b643bStep 1 : RUN apt-get update ---> Running in 845ae6abd1e0Err http://archive.ubuntu.com trusty InReleaseErr http://archive.ubuntu.com trusty-updates InReleaseErr http://archive.ubuntu.com trusty-security InRelease Err http://archive.ubuntu.com trusty-proposed InRelease Err http://archive.ubuntu.com trusty Release.gpg Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::19). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::19 80]Err http://archive.ubuntu.com trusty-updates Release.gpg Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::19). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::19 80]Err http://archive.ubuntu.com trusty-security Release.gpg Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::19). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::19 80]Err http://archive.ubuntu.com trusty-proposed Release.gpg Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::19). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::19 80]Reading package lists...W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/InRelease W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-security/InRelease W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-proposed/InRelease W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/Release.gpg Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::19). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::19 80]W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/Release.gpg Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::19). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::19 80]W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-security/Release.gpg Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::19). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::19 80]W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-proposed/Release.gpg Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::19). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::19 80]W: Some index files failed to download. They have been ignored, or old ones used instead.
حاوية إفكونفيغ / بينغ
➜ code docker run -it ubuntu /bin/bashroot@7bc182bf87bb:/# ifconfigeth0 Link encap:Ethernet HWaddr 02:42:ac:11:00:04 inet addr:172.17.0.4 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:acff:fe11:4/64 Scope:Link UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:7 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:738 (738.0 B) TX bytes:648 (648.0 B)lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)root@7bc182bf87bb:/# ping google.comPING google.com (74.125.226.0) 56(84) bytes of data.64 bytes from lga15s42-in-f0.1e100.net (74.125.226.0): icmp_seq=1 ttl=56 time=12.3 ms--- google.com ping statistics ---1 packets transmitted, 1 received, 0% packet loss, time 0msrtt min/avg/max/mdev = 12.367/12.367/12.367/0.000 msroot@7bc182bf87bb:/# ping 8.8.8.8PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.64 bytes from 8.8.8.8: icmp_seq=1 ttl=44 time=21.8 ms64 bytes from 8.8.8.8: icmp_seq=2 ttl=44 time=21.7 ms64 bytes from 8.8.8.8: icmp_seq=3 ttl=44 time=21.7 ms
أيضا ، فشل التحديث الرابطة بين الحصول على عندما فرض إيبف 4:
root@6d925cdf84ad:/# sudo apt-get update -o Acquire::ForceIPv4=trueErr http://archive.ubuntu.com trusty InReleaseErr http://archive.ubuntu.com trusty-updates InReleaseErr http://archive.ubuntu.com trusty-security InReleaseErr http://archive.ubuntu.com trusty-proposed InReleaseErr http://archive.ubuntu.com trusty Release.gpg Unable to connect to archive.ubuntu.com:http: [IP: 91.189.88.153 80]Err http://archive.ubuntu.com trusty-updates Release.gpg Unable to connect to archive.ubuntu.com:http: [IP: 91.189.88.153 80]Err http://archive.ubuntu.com trusty-security Release.gpg Unable to connect to archive.ubuntu.com:http: [IP: 91.189.88.153 80]Err http://archive.ubuntu.com trusty-proposed Release.gpg Unable to connect to archive.ubuntu.com:http: [IP: 91.189.88.153 80]Reading package lists... DoneW: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/InRelease
إذا كانت مشكلة حل نظام أسماء النطاقات ، فإليك الحل:
يتم تشغيل أول شيء للتحقق cat /etc/resolv.conf في ال حاوية عامل الميناء. إذا كان يحتوي على خادم دنس غير صالح ، مثل nameserver 127.0.x.x، ثم الحاوية لن تكون قادرة على حل أسماء النطاقات في عناوين إب ، لذلك ping google.com سوف تفشل.
يتم تشغيل الشيء الثاني للتحقق cat /etc/resolv.conf على ال الجهاز المضيف. عامل الميناء ينسخ أساسا المضيف /etc/resolv.conf إلى الحاوية في كل مرة يتم فيها تشغيل الحاوية. لذلك إذا كان المضيف /etc/resolv.conf هو خطأ ، ثم لذلك سوف حاوية عامل الميناء.
إذا وجدت أن المضيف /etc/resolv.conf غير صحيح ، ثم لديك 2 خيارات:
هاردكود ملقم دنس في الخفي.(جسون). هذا أمر سهل ، ولكن ليس مثاليا إذا كنت تتوقع تغيير خادم دنس.
إصلاح المضيفين /etc/resolv.conf. هذا هو اصعب قليلا ، ولكن يتم إنشاؤه بشكل حيوي ، وأنت لا هاردكودينغ ملقم دنس.
1. خادم نظام أسماء النطاقات هاردكود في عامل الميناء الخفي.جسون
تحرير /etc/docker/daemon.json
{ "dns": ["10.1.2.3", "8.8.8.8"]}
إعادة تشغيل البرنامج الخفي عامل الميناء لتلك التغييرات نافذة المفعول: sudo systemctl restart docker
الآن عند تشغيل / بدء حاوية ، سوف عامل الميناء ملء /etc/resolv.conf مع القيم من daemon.json.
2. إصلاح المضيفين /etc/resolv.conf
أ. أوبونتو 16.04 وما قبله
لأوبونتو 16.04 والإصدارات السابقة, /etc/resolv.conf تم إنشاؤه ديناميكيا بواسطة مدير الشبكة.
التعليق خارج الخط dns=dnsmasq (مع أ #) في /etc/NetworkManager/NetworkManager.conf
إعادة تشغيل نيتوركماناجر لتجديد /etc/resolv.conf : sudo systemctl restart network-manager
تحقق على المضيف: cat /etc/resolv.conf
ب. أوبونتو 18.04 وما بعده
أوبونتو 18.04 تغيير لاستخدام systemd-resolved لتوليد /etc/resolv.conf. الآن افتراضيا يستخدم ذاكرة التخزين المؤقت دنس المحلية 127.0.0.53. وهذا لن يعمل داخل حاوية ، لذلك سوف دوكر الافتراضي إلى خادم دنس 8.8.8.8 جوجل ، والتي قد كسر للناس وراء جدار الحماية.
/etc/resolv.conf هو في الواقع ارتباط رمزي (ls -l /etc/resolv.conf) مما يشير إلى /run/systemd/resolve/stub-resolv.conf (127.0.0.53) افتراضيا في أوبونتو 18.04.
مجرد تغيير الارتباط الرمزي للإشارة إلى /run/systemd/resolve/resolv.conf، الذي يسرد خوادم نظام أسماء النطاقات الحقيقية: sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
تحقق على المضيف: cat /etc/resolv.conf
الآن يجب أن يكون لديك صالح /etc/resolv.conf على المضيف لعامل الميناء لنسخ في الحاويات.
في محاولة لإضافة قيمة إضافية إلى مشكلة واجهتها أيضا ؛ مع إجابة بديلة:
كانت شبكتي ذات صلة بالمكتب وتم حظر إعدادات نظام أسماء النطاقات جوجل بحيث يمكن للحاوية بينغ عناوين إب ولكن ليس أسماء النطاقات.
مضيفي /etc/resolv.conf بدا في الأصل مثل;
#Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 127.0.1.1search companyDomain.co.za
ويرجع ذلك إلى مدير الشبكة القيام بنوع من اخفاء تفاصيل خادم دنس.
للأسف وفقا ل كتيبات عامل الميناء سوف عامل الميناء تصفية أي عناوين إب لوكالهوست عند بناء حل الحاوية.أسيوط واستبدالها مع إبس دنس جوجل. وهو ما تسبب في حالتي في حظر أسماء النطاقات.
كان علي أن:
إعادة تعيين بلدي /etc/default/docker إلى الافتراضي حتى حاويات استخدام حل المضيف الخاص بي.محتوى أسيوط بدلا من ذلك.
تحرير /etc/NetworkManager/NetworManager.conf والتعليق خارج الخط dns=dnsmasq. هذا هو حتى نم يمكن تحديد عناوين إب دنس الفعلية بدلا من 127.0.0.1.
إعادة تشغيل نانومتر مع sudo service network-manager restart.
إعادة تشغيل خدمة عامل الميناء مع sudo service docker restart.
تشغيل حاوية ثم تسمح لها أن تفعل apt-get update/upgrade، على سبيل المثال.
Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::19). connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::19 80]
هذا ليس خطأ مع دنس ، بدلا من ذلك النظام الخاص بك يحاول الاتصال المضيفين إيبف 6 والفشل . ربما لأنك لم يكن لديك الوصول إيبف 6 على المضيف الخاص بك. ينجح البحث الفعلي عن عنوان آي بي في 6. (مرآة أوبونتو / الأرشيف متاح على كل من إيبف 6 و إيبف 4. كنت محظوظا بما فيه الكفاية لضرب إيبف 6 واحد لأن النظام الخاص بك يعتقد أنه يجب أن تعمل.)
يجب عليك إما إصلاح ذلك ، من خلال تركيب ميريدو، أو أعد المحاولة حتى تصل إلى مرآة آي بي في 4.
مرة أخرى الشيء المهم أن ندرك هنا هو أن دنس ليس اللوم ، كما ترون من قبل اختبارات بينغ الخاصة بك.
واجهت هذه المشكلة عندما سمحت المثبت أوبونتو لتثبيت حزمة عامل الميناء المفاجئة. عندما تخلت عن ذلك وتحولت إلى حزمة عامل الميناء الرسمية ، حلت المشكلة نفسها.