Moby: كيف يتم التعامل مع الحالة التي يصل فيها حجم ملف بيانات Docker إلى 100G عتبة؟

تم إنشاؤها على ٢٩ مارس ٢٠١٦  ·  3تعليقات  ·  مصدر: moby/moby

ناتج docker version :

Client:
 Version:      1.8.2-el7.centos
 API version:  1.20
 Package Version: docker-1.8.2-10.el7.centos.x86_64
 Go version:   go1.4.2
 Git commit:   a01dc02/1.8.2
 Built:        
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.2-el7.centos
 API version:  1.20
 Package Version: 
 Go version:   go1.4.2
 Git commit:   a01dc02/1.8.2
 Built:        
 OS/Arch:      linux/amd64

ناتج docker info :

Containers: 0
Images: 130
Storage Driver: devicemapper
 Pool Name: docker-253:0-3221586422-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: xfs
 Data file: /dev/loop4
 Metadata file: /dev/loop5
 Data Space Used: 107.4 GB
 Data Space Total: 107.4 GB
 Data Space Available: 0 B
 Metadata Space Used: 60.92 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.087 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.107-RHEL7 (2015-12-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: CentOS Linux 7 (Core)
CPUs: 12
Total Memory: 31.2 GiB
Name: IP-5-14
ID: DNOS:FC2P:2WH4:OSYL:L2CH:U7HZ:MFL2:ZID3:SYTX:JWKP:TGIN:YYPB
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

تفاصيل إضافية عن البيئة (AWS و VirtualBox والمادية وما إلى ذلك):

خطوات إعادة إظهار المشكلة:
أريد تشغيل صورة عامل الإرساء الخاصة بي التي تسمى البوابة باستخدام cmd أدناه. (تم تعيين نقطة دخول no-daemon في ملف Dockerfile الخاص بالبوابة)

docker run -d -P gateway

صِف النتائج التي تلقيتها:
يمكن تشغيل الحاوية كالمعتاد

صِف النتائج التي توقعتها:

[root@IP-5-14 devicemapper]# docker run -d -P gateway
Error response from daemon: Error running DeviceCreate (createSnapDevice) dm_task_run failed

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

  1. كما يظهر docker info ، فقد تم رفع مساحة البيانات إلى حد 100G.
  2. عندما أحذف الحاوية باستخدام docker rm -f $(docker ps -a -q) . تمت إزالة جميع الحاويات ولكن تم الإبلاغ عن الخطأ أدناه:
Error response from daemon: Cannot destroy container 5d5eed10468b: Driver devicemapper failed to remove root filesystem 5d5eed10468b809475b0eb23bda167e1a962d32092a348936d56e27417dbf578: Error running DeleteDevice dm_task_run failed
  1. لقد استخدمت docker ps -a للتأكد من إزالة جميع الحاويات بعد أن قمت بالخطوة 2. نتيجة cmd فارغة. لكن الخطأ يحدث (أدناه) عندما أحذف صورة NONE
[root@IP-5-14 devicemapper]# docker rmi 6fdebd7b0eb5   
Error response from daemon: Conflict, cannot delete because 6fdebd7b0eb5 is held by an ongoing pull or build
Error: failed to remove images: [6fdebd7b0eb5]

هل يمكن لأحد أن يعطيني معروفًا؟ تشك كثيرا

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

تحتاج إلى زيادة البركة المسموح بها للحاويات الخاصة بك. للقيام بذلك ، سوف تحتاج إلى إزالة var / lib / docker الخاص بك والذي سيدمر جميع الحاويات والصور الخاصة بك.

sudo service docker stop
sudo rm -rf /var/lib/docker
sudo dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=300
هذا سيجعل مساحة البيانات الخاصة بك تستخدم 300 جيجا بايت

هل هذا يحل مشكلتك؟ حاول أيضًا إيقاف عمليات عامل الإرساء ، وابدأ عامل الإرساء مرة أخرى ، ومعرفة ما إذا كان يمكنك إزالة الصور

ال 3 كومينتر

تحتاج إلى زيادة البركة المسموح بها للحاويات الخاصة بك. للقيام بذلك ، سوف تحتاج إلى إزالة var / lib / docker الخاص بك والذي سيدمر جميع الحاويات والصور الخاصة بك.

sudo service docker stop
sudo rm -rf /var/lib/docker
sudo dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=300
هذا سيجعل مساحة البيانات الخاصة بك تستخدم 300 جيجا بايت

هل هذا يحل مشكلتك؟ حاول أيضًا إيقاف عمليات عامل الإرساء ، وابدأ عامل الإرساء مرة أخرى ، ومعرفة ما إذا كان يمكنك إزالة الصور

قد يكون نفاد مساحة Devicemapper أمرًا صعبًا للغاية ؛ نحن نتتبع المشكلات حول هذا في https://github.com/docker/docker/issues/20272.

بالنسبة لـ Docker 1.11 ، هناك خيار جديد لتحديد الحد الأدنى من المساحة الخالية التي يجب الاحتفاظ بها ، ويمنعك من الوصول إلى هذا الموقف ؛ راجع https://github.com/docker/docker/pull/20786

سأغلق هذه المشكلة ، لأنني أعتقد أن هذا ليس خطأ ، ولكنه سؤال دعم ، لكن لا تتردد في مواصلة المناقشة هنا

حسنا. شكرا كثيرا. نأمل في ميزات Docker1.11 الجديدة

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