Compose: فشل docker-compose مع AttributeError: الكائن "الوحدة النمطية" ليس له سمة "get_config_header"

تم إنشاؤها على ٢٥ يناير ٢٠١٧  ·  3تعليقات  ·  مصدر: docker/compose

لقد قمت مؤخرًا بالترقية إلى إصدار docker 1.13 و docker-compose 1.10.0.
عند استخدام ملف إنشاء عامل الإرساء (الإصدار 2 أو الإصدار 3) ، تظهر الأوامر docker-compose up docker-compose pull <service_name> الخطأ التالي:

$ عامل الإرساء
سحب ميريديس (redis: الأحدث) ...
Traceback (آخر مكالمة أخيرة):
ملف "/ usr / local / bin / docker-compose" ، السطر 11 ، بتنسيق
sys.exit (main ())
ملف "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py" ، السطر 64 ، بشكل رئيسي
يأمر()
ملف "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py" ، السطر 116 ، في Perform_command
معالج (الأمر ، خيارات الأوامر)
ملف "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py" ، السطر 848 ، في الأعلى
remove_orphans = remove_orphans)
ملف "/usr/local/lib/python2.7/dist-packages/compose/project.py" ، السطر 389 ، في الأعلى
svc.ensure_image_exists (do_build = do_build)
ملف "/usr/local/lib/python2.7/dist-packages/compose/service.py" ، السطر 312 ، in sure_image_exists
self.pull ()
ملف "/usr/local/lib/python2.7/dist-packages/compose/service.py" ، السطر 878 ، قيد السحب
الإخراج = self.client.pull (الريبو ، العلامة = العلامة ، الدفق = صحيح)
ملف "/usr/local/lib/python2.7/dist-packages/docker/api/image.py" ، السطر 333 ، في السحب
header = auth.get_config_header (self، Registry)
AttributeError: كائن "الوحدة النمطية" ليس له سمة "get_config_header"

فيما يلي ملفات الإنشاء الخاصة بي ، لاحظ أن كلا الإصدارين 2 و 3 يفشلان مع نفس الخطأ.

~ / التنزيلات $ cat docker-compose.yml
version: '2'
services:
myredis:
image: redis:alpine

~ / التنزيلات $ cat docker-compose.yml
version: '3'
services:
myredis:
image: redis:alpine

~ / التنزيلات إصدار عامل ميناء دولار
عميل:
الإصدار: 1.13.0
إصدار API: 1.25
إصدار Go: go1.7.3
Git الالتزام: 49bf474
بني: الثلاثاء 17 يناير 09:58:26 2017
OS / Arch: لينكس / amd64

الخادم:
الإصدار: 1.13.0
إصدار API: 1.25 (الحد الأدنى للإصدار 1.12)
إصدار Go: go1.7.3
Git الالتزام: 49bf474
بني: الثلاثاء 17 يناير 09:58:26 2017
OS / Arch: لينكس / amd64
التجريبية: خطأ

~ / التنزيلات $ docker info
تحذير: لا يوجد دعم لحد المبادلة
الحاويات: 5
الجري: 0
متوقف مؤقتًا: 0
متوقف: 5
الصور: 59
إصدار الخادم: 1.13.0
سائق التخزين: aufs
مدير الجذر: / var / lib / docker / aufs
دعم نظام الملفات: extfs
Dirs: 104
Dirperm1 المدعومة: صحيح
برنامج تشغيل التسجيل: json-file
برنامج تشغيل Cgroup: cgroupfs
الإضافات:
الحجم: محلي
الشبكة: تراكب فارغ macvlan لمضيف الجسر
سرب: غير نشط
أوقات التشغيل: runc
وقت التشغيل الافتراضي: runc
ثنائي أولي: docker-init
إصدار الحاوية: 03e5862ec0d8d3b3f750e19fca3ee367e13c090e
إصدار runc: 2f7393a47307a16f8cee44a37b262e8b81021e3e
إصدار init: 949e6fa
خيارات الأمان:
أبارمور
سيكومب
الملف الشخصي: الافتراضي
إصدار النواة: 4.4.0-53-عام
نظام التشغيل: Ubuntu 16.04.1 LTS
OSType: لينكس
العمارة: x86_64
وحدات المعالجة المركزية: 8
إجمالي الذاكرة: 15.55 جيجا بايت
الاسم: مخفض
المعرّف: EWM5: UMNC: 4KLA : MYJK: FZ7F : JSKE: D2NB : CICK: KL33 : QWEE: 9000 : K6OJ
Docker Root Dir: / var / lib / docker
وضع التصحيح (العميل): خطأ
وضع التصحيح (الخادم): خطأ
اسم المستخدم: تم حذفه
التسجيل: https://index.docker.io/v1/
التجريبية: خطأ
السجلات غير الآمنة:
127.0.0.0 / 8
تمكين الاستعادة الحية: خطأ

~ / التنزيلات $ docker-compose version
إصدار docker-compose 1.10.0، build 4bd6f1a
إصدار docker-py: 2.0.2
إصدار CPython: 2.7.12
إصدار OpenSSL: OpenSSL 1.0.2g 1 Mar 2016

~ / التنزيلات $ uname -ra
Linux REDACTED 4.4.0-53-generic # 74-Ubuntu SMP Fri 2 ديسمبر 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux

~ / التنزيلات $ lsb_release -ar
معرف الموزع: أوبونتو
الوصف: Ubuntu 16.04.1 LTS
الإصدار: 16.04.2007
الاسم الرمزي: زينيل
لا توجد وحدات LSB متوفرة.

يبدو أن عامل الإرساء بمفرده (بدون تكوين عامل الميناء) يعمل بشكل جيد:

~ / التنزيلات $ docker run -it redis: alpine
تعذر العثور على صورة " redis: alpine " محليًا
جبال الألب: الانسحاب من المكتبة / ريديس
0a8490d0dfd3: اكتمل السحب
c8d0e817ebe2: اكتمل السحب
7f2a4f935feb: اكتمل السحب
0b43e209f780: اكتمل السحب
b06b9be4b2bc: اكتمل السحب
5de037257f43: اكتمل السحب
الخلاصة: sha256: a06a61747e4a7b46788e2813b21ea6b06386df8e238e56f51f8793adb48f0a8b
الحالة: تم تنزيل أحدث صورة لـ redis: alpine
1: C 25 يناير 08: 59: 26.533 # تحذير: لم يتم تحديد ملف التكوين ، باستخدام ملف config. لتحديد ملف التكوين ، استخدم redis-server /path/to/redis.conf
_._
_.- __ ''-._ _.- . _. "-._ Redis 3.2.6 (00000000/0) 64 بت
.-`` .- . \ / _.، _ "-._
....
...
..

التعليق الأكثر فائدة

أخيرًا أصلحته ، لا أعرف ما الذي نجح: غمزة: لقد قمت للتو بإطلاق النار على الأشياء بالنار وعادت الأمور إلى طبيعتها.
رموز إطلاق السلاح النووي التي استخدمتها هي:
إيقاف جميع حاويات عامل الإرساء docker stop $(docker ps -a -q) #
إزالة جميع حاويات عامل الإرساء docker rm -f $(docker ps -a -q) #
docker images -q | xargs docker rmi -f # قم بإزالة كافة صور عامل الإرساء
sudo pip uninstall docker-compose # إلغاء تثبيت عامل الإرساء

ثم إعادة تركيب عامل الإرساء:
sudo pip install -U docker-compose

ال 3 كومينتر

أخيرًا أصلحته ، لا أعرف ما الذي نجح: غمزة: لقد قمت للتو بإطلاق النار على الأشياء بالنار وعادت الأمور إلى طبيعتها.
رموز إطلاق السلاح النووي التي استخدمتها هي:
إيقاف جميع حاويات عامل الإرساء docker stop $(docker ps -a -q) #
إزالة جميع حاويات عامل الإرساء docker rm -f $(docker ps -a -q) #
docker images -q | xargs docker rmi -f # قم بإزالة كافة صور عامل الإرساء
sudo pip uninstall docker-compose # إلغاء تثبيت عامل الإرساء

ثم إعادة تركيب عامل الإرساء:
sudo pip install -U docker-compose

كان لدي خطأ مشابه أثناء تشغيل أمر "docker-compose" في centos7.
أعدت تشغيل الخادم وهو يعمل مرة أخرى. ومع ذلك ، تحدث المشكلة مرة أخرى من حين لآخر.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات