Moby: غير قادر على إزالة الشبكة "بها نقاط نهاية نشطة"

تم إنشاؤها على ٢٠ أكتوبر ٢٠١٥  ·  59تعليقات  ·  مصدر: moby/moby

لست متأكدًا مما إذا كان هذا ينتمي إلى الريبو أو libnetwork.

إصدار عامل ميناء: Docker version 1.9.0-rc1, build 9291a0e
معلومات عامل الميناء:

Containers: 0
Images: 5
Engine Version: 1.9.0-rc1
Storage Driver: devicemapper
 Pool Name: docker-253:0-390879-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 107.4 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 2.023 GB
 Data Space Total: 107.4 GB
 Data Space Available: 11.62 GB
 Metadata Space Used: 1.7 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.146 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.93-RHEL7 (2015-01-28)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.10.0-229.14.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
CPUs: 2
Total Memory: 1.797 GiB
Name: carbon1.rmb938.com
ID: IAQS:6E74:7NGG:5JOG:JXFM:26VD:IAQV:FZNU:E23J:QUAA:NI4O:DI3S

uname -a: Linux carbon1.rmb938.com 3.10.0-229.14.1.el7.x86_64 #1 SMP Tue Sep 15 15:05:51 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

ضع قائمة بالخطوات لإعادة إظهار المشكلة:

  1. إنشاء شبكة مع سائق عن بعد
  2. قم بتشغيل حاوية متصلة بالشبكة
  3. اقتل وأزل الحاوية
  4. قم بإزالة الشبكة

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

إذا أعطى برنامج تشغيل الشبكة البعيدة خطأً عند معالجة / NetworkDriver.Leave docker يقتل ويزيل الحاوية لكنه لا يزيل نقطة النهاية. يسمح هذا لـ db الداخلي لرسو السفن بالاعتقاد بأن نقطة النهاية لا تزال موجودة على الرغم من إزالة الحاوية.

عند محاولة إزالة الشبكة يتم إرجاع هذا الخطأ

docker network rm net1      
Error response from daemon: network net1 has active endpoints

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

لا ينبغي السماح لـ Docker بقتل أو إزالة الحاوية إذا /NetworkDriver.Leave إرجاع خطأ.

arenetworking

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

keithbentrup هذه حالة نقطة نهاية قديمة. هل تصادف وجود سجل أخطاء عند إزالة تلك الحاوية في الأصل (والتي تركت نقطة النهاية في هذه الحالة).
راجع للشغل ، إذا تمت إزالة الحاوية ، ولكن لا تزال نقطة النهاية ظاهرة ، فيمكن للمرء أن يفرض فصل نقطة النهاية باستخدام docker network disconnect -f {network} {endpoint-name} . يمكنك الحصول على اسم نقطة النهاية من الأمر docker network inspect {network} .

ال 59 كومينتر

يبدو أن هذه المشكلة متقطعة جدًا ولا تحدث كثيرًا.

@ rmb938 لدينا بعض المشكلات المتعلقة

مذهل. شكرا.

mavenugo لقد أعدت هذا للتو في 1.10.0:

يبدو أن # 17191 لم يكن إصلاحًا كاملاً ...

هل لديك عمل في الجوار؟ حتى الارتداد الخفي في عامل الإرساء لا يبدو أنه يحل الأمور.

(واسمحوا لي أن أعرف إذا كان بإمكاني الحصول على مزيد من معلومات تصحيح الأخطاء ، فلا يزال يتم إعادة صياغتها على جهازي)

لقد قمت أيضًا بإعادة إنتاج هذا في 1.10.3 وهبطت هنا عبر Google بحثًا عن حل بديل. لا يمكنني فرض فصل نقاط النهاية النشطة ب / ج لا تزال أي من الحاويات المدرجة عبر docker network inspect موجودة.

اضطررت في النهاية إلى إعادة إنشاء حاوية القنصل الخاصة بي وإعادة تشغيل برنامج Docker daemon.

pingmavenugo ، هل تريد إعادة فتح هذه المشكلة ، أم تفضل

توضيح عامل ميناء 1.10.1

Client:
 Version:      1.10.1
 API version:  1.22
 Go version:   go1.4.3
 Git commit:   9e83765
 Built:        Fri Feb 12 12:41:05 2016
 OS/Arch:      linux/arm

Server:
 Version:      1.10.1
 API version:  1.22
 Go version:   go1.4.3
 Git commit:   9e83765
 Built:        Fri Feb 12 12:41:05 2016
 OS/Arch:      linux/arm

اسمحوا لي أن أعيد فتح هذا للتحقيق

Madhu ، كلفك ، ولكن لا تتردد في إعادة التخصيص ، للإشارة إلى الحل البديل ذي الصلة إذا كان موجودًا بالفعل: ابتسم:

keithbentrup شكراً brendandburns لإثارة المشكلة. مجموعة من الاسئلة

  1. هل تستخدم أي برنامج تشغيل شبكة متعدد المضيف (مثل برنامج تشغيل Overlay). هل يمكنك مشاركة الناتج docker network ls فضلك.
  2. إذا كنت لا تستخدم برنامج تشغيل متعدد المضيفين ، فهل يمكنك من فضلك مشاركة ملف /var/lib/docker/network/files/local-kv.db (عبر بعض مواقع مشاركة الملفات) وأي network تحاول إزالته؟ وكيف تم إنشاء الشبكة في الأصل؟

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

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

mavenugo نعم ، أنا أستخدم برنامج التشغيل المتراكب عبر

عندما أقوم docker network inspect بالشبكة على كل عقدة فردية ، كان لدى عقدة واحدة حاوية واحدة مدرجة لم تعد موجودة وبالتالي لا يمكن إزالتها بواسطة docker rm -fv باستخدام اسم الحاوية أو المعرف.

keithbentrup هذه حالة نقطة نهاية قديمة. هل تصادف وجود سجل أخطاء عند إزالة تلك الحاوية في الأصل (والتي تركت نقطة النهاية في هذه الحالة).
راجع للشغل ، إذا تمت إزالة الحاوية ، ولكن لا تزال نقطة النهاية ظاهرة ، فيمكن للمرء أن يفرض فصل نقطة النهاية باستخدام docker network disconnect -f {network} {endpoint-name} . يمكنك الحصول على اسم نقطة النهاية من الأمر docker network inspect {network} .

brendandburns هل يمكنك المساعدة في الرد على https://github.com/docker/docker/issues/17217#issuecomment -195739573؟

mavenugo آسف على التأخير. أنا لا أستخدم عامل إنشاء الشبكات متعدد المضيفات. إنها عقدة واحدة raspberry pi وأنا لم أفعل أي شيء آخر غير تثبيت عامل ميناء عبر hypriot.

هذا هو الناتج الذي طلبته ( network هي الشبكة التي لا يمكنني حذفها)

$ docker network ls
NETWORK ID          NAME                DRIVER
d22a34456cb9        bridge              bridge              
ef922c6e861e        network             bridge              
c2859ad8bda4        none                null                
150ed62cfc44        host                host 

تم إرفاق ملف kv ، واضطررت إلى تسميته .txt للالتفاف حول مرشحات جيثب ، لكنه الملف الثنائي.

محلي kv.db.txt

لقد أنشأت الشبكة عبر مكالمات API المباشرة (dockerode)

لقد نجح هذا (إنشاء وحذف) عدة مرات ، أعتقد في هذه الحالة ، أنا docker rm -f <container-id> لكنني لست متأكدًا ، ربما أكون قد قمت بتدوير الجهاز ...

امل ان يساعد.
- بريندان

mavenugo إذا كنت تقصد بـ docker network disconnect -f {network} {endpoint-name} docker network disconnect [OPTIONS] NETWORK CONTAINER لكل docker network disconnect --help ، حاولت ذلك ، لكنها اشتكت (ليس مفاجئًا) من No such container .

إذا كنت تقصد EndpointID بدلاً من اسم / معرف الحاوية ، لم أحاول ذلك (لكنني سأفعل ذلك في المرة القادمة) لأن هذا ليس ما اقترحه --help .

keithbentrup قصدت الخيار -f المتوفر في v1.10.x. يعتبر خيار القوة أيضًا اسم نقطة النهاية من العقد الأخرى في المجموعة أيضًا. وبالتالي ، ستعمل إرشاداتي السابقة بشكل جيد مع خيار -f إذا كنت تستخدم docker v1.10.x.

شكرًا brendandburns على المعلومات ومن المفيد جدًا تضييق نطاق المشكلة. هناك إشارة قديمة إلى نقطة النهاية التي تسبب هذه المشكلة. من المحتمل أن يكون المرجع القديم ناتجًا عن دورة الطاقة عندما يتم تنظيف نقاط النهاية. سنقوم بحل مشكلة عدم الاتساق هذه في 1.11.

mavenugo سعيد لأنه ساعد. في غضون ذلك ، إذا نسفت هذا الملف ، فهل ستظل الأمور تعمل؟

شكرا
- بريندان

brendandburns نعم. من فضلك تابع. ستعمل بشكل جيد من أجلك.

mavenugo أعتقد أنك أسأت فهمي. كنت أستخدم الخيار -f (تم التحقق منه في سجل shell الخاص بي) على v1.10.x ولكن مع معرف الحاوية (وليس معرف نقطة النهاية) b / c هذا ما تقترحه المساعدة (الحاوية وليس نقطة النهاية). إذا كان من المفترض العمل مع معرّف الحاوية أو معرّف نقطة النهاية ، فهو خطأ b / c بالتأكيد لا ينفصل مع معرّف الحاوية وخيار -f عندما لا تكون الحاوية موجودة.

تمكنت من إعادة إنشاء حالة عند محاولة إزالة docker_gwbridge التي قد تخفف بعض الالتباس.
عندما استخدمت عميل Docker الذي يشير إلى مدير سرب ، واجهت هذا الناتج:

~/D/e/m/compose (develop) $ docker network inspect docker_gwbridge
[
    {
        "Name": "docker_gwbridge",
        "Id": "83dfeb756951d3d175e9058d0165b6a4997713c3e19b6a44a7210a09cd687d54",
        "Scope": "local",
        "Driver": "bridge",
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1/16"
                }
            ]
        },
        "Containers": {
            "41ebd4fc365ae07543fd8454263d7c049d8e73036cddb22379ca1ce08a65402f": {
                "Name": "gateway_41ebd4fc365a",
                "EndpointID": "1cb2e4e3431a4c2ce1ed7c0ac9bc8dee67c06982344a75312e20e4a7d6e8972c",
                "MacAddress": "02:42:ac:12:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.bridge.enable_icc": "false",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.name": "docker_gwbridge"
        }
    }
]
~/D/e/m/compose (develop) $ docker network disconnect -f docker_gwbridge 41ebd4fc365ae07543fd8454263d7c049d8e73036cddb22379ca1ce08a65402f
Error response from daemon: No such container: 41ebd4fc365ae07543fd8454263d7c049d8e73036cddb22379ca1ce08a65402f
~/D/e/m/compose (develop) $ docker network disconnect -f docker_gwbridge 1cb2e4e3431a4c2ce1ed7c0ac9bc8dee67c06982344a75312e20e4a7d6e8972c
Error response from daemon: No such container: 1cb2e4e3431a4c2ce1ed7c0ac9bc8dee67c06982344a75312e20e4a7d6e8972c
~/D/e/m/compose (develop) $ docker network rm docker_gwbridge
Error response from daemon: 500 Internal Server Error: network docker_gwbridge has active endpoints

حاولت أولاً إزالة الحاوية باسم الحاوية (غير معروض) ، ثم بالمعرف ، ثم بواسطة معرف نقطة نهاية الحاوية. لم ينجح أي منها. ثم قمت بتسجيل الدخول إلى مضيف عامل الإرساء ، واستخدمت عميل عامل الإرساء المحلي لإصدار أوامر عبر مقبس docker unix:

root@dv-vm2:~# docker network disconnect -f docker_gwbridge 41ebd4fc365ae07543fd8454263d7c049d8e73036cddb22379ca1ce08a65402f
Error response from daemon: endpoint 41ebd4fc365ae07543fd8454263d7c049d8e73036cddb22379ca1ce08a65402f not found
root@dv-vm2:~# docker network disconnect -f docker_gwbridge 1cb2e4e3431a4c2ce1ed7c0ac9bc8dee67c06982344a75312e20e4a7d6e8972c
Error response from daemon: endpoint 1cb2e4e3431a4c2ce1ed7c0ac9bc8dee67c06982344a75312e20e4a7d6e8972c not found
root@dv-vm2:~# docker network rm docker_gwbridge
Error response from daemon: network docker_gwbridge has active endpoints
root@dv-vm2:~# docker network disconnect -f docker_gwbridge gateway_41ebd4fc365a
root@dv-vm2:~# docker network rm docker_gwbridge
root@dv-vm2:~# docker network inspect docker_gwbridge
[]
Error: No such network: docker_gwbridge

1) لاحظ الناتج من السرب مقابل عميل الرصيف المباشر: يشير السرب إلى الحاويات ؛ يشير عامل الإرساء إلى نقاط النهاية. ربما ينبغي جعل ذلك متسقا.
2) كان الخيار الوحيد الناجح هو توفير اسم نقطة النهاية (ليس اسم الحاوية أو المعرف أو معرف نقطة النهاية). يجب أن يوضح --help أن المدخلات الأعلى أو المتعددة يجب أن تكون مقبولة.
3) لم أختبر اسم نقطة النهاية مع سرب ، لذلك لا أعرف ما إذا كان ذلك سينجح.

keithbentrup هذا صحيح. كما اقترحت سابقًا. docker network disconnect -f {network} {endpoint-name} ... الرجاء استخدام اسم نقطة النهاية. يمكننا تحسين هذا لدعم معرّف نقطة النهاية أيضًا. لكني أردت أن أؤكد أنه باستخدام خيار القوة ، هل تمكنت من إحراز تقدم.

mavenugo ولكن ما تقترحه ليس ما تقوله المساعدة. علاوة على ذلك ، فإنه يفتقر إلى تناسق معظم cmds حيث يكون المعرف / الاسم قابلين للتبديل.

ما لم يجد الآخرون هذا الموضوع ، سيكرر الآخرون نفس المشكلة ، لذا قبل إضافة دعم لمعرف نقطة النهاية ، قم بإصلاح --help .

keithbentrup سنصلح كلاً من --help والوظيفة.

لقد قمت للتو بإعادة إظهار هذه المشكلة مع docker v1.11.2 أثناء محاولة docker-compose down .
أدت محاولة سابقة لتشغيل docker-compose down إغلاق شبكة app_front.

$ docker-compose down
Removing network app_front
WARNING: Network app_front not found.
Removing network app_back
ERROR: network app_back has active endpoints
$ docker network inspect app_back                                                            
[                                                                                                    
    {                                                                                                
        "Name": "app_back",                                                                  
        "Id": "4a8d557eda7ce06d222fc0a9053069f44e75d25147300796686522a872261245",                    
        "Scope": "local",                                                                            
        "Driver": "bridge",                                                                          
        "EnableIPv6": false,                                                                         
        "IPAM": {                                                                                    
            "Driver": "default",                                                                     
            "Options": null,                                                                         
            "Config": [                                                                              
                {                                                                                    
                    "Subnet": "172.22.0.0/16",                                                       
                    "Gateway": "172.22.0.1/16"                                                       
                }                                                                                    
            ]                                                                                        
        },                                                                                           
        "Internal": false,                                                                           
        "Containers": {                                                                              
            "702e9916e86b7f77af363014134f160a8dcd189399719e062069c10f735cb927": {                    
                "Name": "app_db_1",                                                          
                "EndpointID": "1decedbca5bc704be84f19e287926361d196d20fe2a9bbf092ab15b37b856b3a",    
                "MacAddress": "02:42:ac:16:00:02",                                                   
                "IPv4Address": "172.22.0.2/16",                                                      
                "IPv6Address": ""                                                                    
            }                                                                                        
        },                                                                                           
        "Options": {},                                                                               
        "Labels": {}                                                                                 
    }                                                                                                
]                                                                                                    

معلومات عامل الميناء

Containers: 17                                                                                   
 Running: 1                                                                                      
 Paused: 0                                                                                       
 Stopped: 16                                                                                     
Images: 140                                                                                      
Server Version: 1.11.2                                                                           
Storage Driver: aufs                                                                             
 Root Dir: /mnt/sda1/var/lib/docker/aufs                                                         
 Backing Filesystem: extfs                                                                       
 Dirs: 245                                                                                       
 Dirperm1 Supported: true                                                                        
Logging Driver: json-file                                                                        
Cgroup Driver: cgroupfs                                                                          
Plugins:                                                                                         
 Volume: local                                                                                   
 Network: bridge null host                                                                       
Kernel Version: 4.4.12-boot2docker                                                               
Operating System: Boot2Docker 1.11.2 (TCL 7.1); HEAD : a6645c3 - Wed Jun  1 22:59:51 UTC 2016    
OSType: linux                                                                                    
Architecture: x86_64                                                                             
CPUs: 1                                                                                          
Total Memory: 1.955 GiB                                                                          
Name: default                                                                                    
ID: LKRP:E2TX:KNVZ:UD4M:FIGG:ZROO:CIA5:WBKH:RNUB:KXTQ:E6DC:545P                                  
Docker Root Dir: /mnt/sda1/var/lib/docker                                                        
Debug mode (client): false                                                                       
Debug mode (server): true                                                                        
 File Descriptors: 18                                                                            
 Goroutines: 38                                                                                  
 System Time: 2016-06-15T22:44:13.34779866Z                                                      
 EventsListeners: 0                                                                              
Username: tohagan                                                                                
Registry: https://index.docker.io/v1/                                                            
Labels:                                                                                          
 provider=virtualbox                                                                             

لدي بعض المشكلات عند محاولة فصل نقاط نهاية تراكب السرب ،

استجابة خطأ من البرنامج الخفي: تحتوي شبكة es-swarm-overlay على نقاط نهاية نشطة

@ rmb938 من فضلك قل ما هو الخطأ؟ قد يكون لديك مشكلة أخرى مع هذه الأسئلة؟

تضمين التغريدة

docker network disconnect -f  [Network-Name] [Endpoint-Name] 

هذا عمل معي.

قد أواجه نفس المشكلة مع docker 1.13.0 .

نظرًا لعدم قيام أي شخص في هذا الموضوع بإعطاء مثال لما فعلته ، فسوف أنشره.

للاكتمال ، هذا هو الخطأ الذي يبدأها. قد يكون ذلك بسبب وجود codekitchen/dinghy-http-proxy:2.5.0 الذي يستمع إلى المنفذ 80.

$ docker-compose -f deploy/docker-compose/docker-compose.yml
Creating network "dockercompose_default" with the default driver
Creating dockercompose_front-end_1
# and so on..

ERROR: for edge-router  Cannot start service edge-router: driver failed programming external connectivity on endpoint dockercompose_edge-router_1 (3ed8fb6cf4bc221dce615a9a3c5b8e4f0f8332e00e6c6d9b9f9bf0b09da57b36): Bind for 0.0.0.0:80 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

ومحاولة إسقاطها كلها:

$ docker-compose -f deploy/docker-compose/docker-compose.yml down
Stopping dockercompose_front-end_1
# and so on..
ERROR: network dockercompose_default has active endpoints

وكيف قتلت الشبكة:

$ docker network inspect dockercompose_default
[
    {
        "Name": "dockercompose_default", # <--- Param 1
        "Id": "dd1326487a637df8a4a7a11856864a0059fca45cb63e8363bfe5196082d42d6e",
        "Created": "2017-02-08T00:22:41.341653339Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": {
            "ea7a142c113700145e894c950b18fd4dec8a53e04a45045f1fb71c47eae1a13b": {
                "Name": "dinghy_http_proxy", # <--- Param 2
                "EndpointID": "38f362af8b22e575cc987f68399a97f3ed10abf2c4cc365460dba768f2df8daa",
                "MacAddress": "02:42:ac:12:00:0d",
                "IPv4Address": "172.18.0.13/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]
$ docker network disconnect -f dockercompose_default dinghy_http_proxy
$ docker network rm dockercompose_default
dockercompose_default

nicolaiskogheim لديه حل صالح. ومع ذلك ، فإن فريقي لديه ملف إنشاء عامل ميناء به حوالي 20 حاوية. لذلك وجدت حلاً آخر.

أود أن أضيف أنه يمكنك أيضًا إعادة تشغيل برنامج Docker daemon (على سبيل المثال systemctl restart docker على centos) وبعد ذلك ستختفي الروابط بين الشبكة والحاويات. يمكنك بعد ذلك docker system prune -f بنجاح.

mdotsonnicolaiskogheim الرجاء فتح قضية جديدة. على الرغم من أن رسالة الخطأ هي نفسها ، فقد تم إصلاح المشكلة الأصلية التي تمت مناقشتها هنا. هل ترى هذا فقط عند استخدام Docker compose؟ في هذه الحالة ، يمكن أن تكون مشكلة في الترتيب الذي يؤدي به عامل الإرساء الإجراءات؟

thaJeztah فقط مع عامل البناء. لقد حدث ذلك مرة واحدة فقط عندما نفدت ذاكرة صندوق Jenkins الخاص بي ، وبالكاد تمكنت من قتل حاويات عامل التحميل. ربما لم تكن هناك ذاكرة كافية لتخصيصها لإزالة الروابط بين الحاويات والشبكة؟

لست متأكدًا ، ولكن في كلتا الحالتين ، أعتقد أن معظم الأشخاص يرسلون رسالة خطأ عبر google وسيصلون إلى هنا بحثًا عن بعض الأوامر لنسخها ولصقها لإصلاح مشكلتهم.

واجهت نفس مشكلة nicolaiskogheim و mdotson ، نفدت ذاكرة حاوية التدفق وأصبحت غير صحية. لم أتمكن من إزالته أو إيقافه أو إزالته (تمكنت من الإزالة بوضع القوة).
بعد ذلك كنت أحاول بدء عامل الإرساء مرة أخرى بـ docker-compose :

# docker-compose -f /etc/docker/docker-compose.yml up -d
Creating influxdb1

ERROR: for influxdb  Cannot start service influxdb: service endpoint with name influxdb1 already exists
ERROR: Encountered errors while bringing up the project.

من حاول حذف الشبكة:

# docker network rm 834ea759c916
Error response from daemon: network docker_default has active endpoints

ومن جربت حل nicolaiskogheim :

# docker network disconnect -f docker_default influxdb1
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:50:14 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:50:14 2017
 OS/Arch:      linux/amd64
 Experimental: false
docker-compose version 1.11.1, build 7c5d5e4
docker-py version: 2.0.2
CPython version: 2.7.12
OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016

إعادة تشغيل خدمة عامل ميناء إصلاح المشكلة بالنسبة لي.

sudo service docker restart

docker network rm <network name>

أرى نفس المشكلة عند محاولة إزالة مكدس:

> sudo docker stack rm my-stack
Removing network my-stack_default
Failed to remove network g0450dknntdsfj1o055mk4efm: Error response from daemon: network my-stack_default has active endpointsFailed to remove some resources

لقد أنشأت المكدس لأول مرة على النحو التالي:

sudo docker stack deploy -c docker-compose.yml --with-registry-auth my-stack

أنا أستخدم هذا الإصدار:

Client:
 Version:      17.03.1-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Mon Mar 27 17:14:09 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.1-ce
 API version:  1.27 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Mon Mar 27 17:14:09 2017
 OS/Arch:      linux/amd64
 Experimental: false

لحسن الحظ ، يصلح الأمر sudo service docker restart ، لكن لا يزال السلوك غير مثالي.

تمت مواجهتها في 17.07.0 م ، ولم تنجح الطريقة disconnect ، ثم تمت إعادة تشغيل عامل الإرساء وتشغيل rm مرة أخرى بنجاح.

لقد واجهت هذا مع مجموعة سرب 17.06 م أيضًا ؛ نفاد الخيارات إلى جانب إعادة التشغيل.

يتخلص من sudo service docker restart لي على ubuntu ، مما يسمح لي بنشر حاوياتي وبدء تشغيلها مرة أخرى.

يعمل أيضًا إذا رفضت إحدى الحاويات أن تُقتل (يحدث أكثر مما كنت أتمنى). مزعج لأنه يجعلني أقوم بإيقاف جميع الخدمات بسبب حاوية واحدة مؤذية.

وجود هذه المشكلة أيضًا في 17.09.0 م. أعد فتح هذا!

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

tomholub كلا ، الذاكرة ليست هي القضية. لكن أعيد تشغيل خدمة docker ، ثم يمكنني إزالة الشبكة.

لا تزال تواجه هذه المشكلة من وقت لآخر عند محاولة إيقاف وإزالة حاوية العمل النشطة. (Docker for Mac الإصدار 17.09.0-ce-mac35 (19611) القناة: a98b7c1b7c مستقر)

Client:
 Version:      17.09.0-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:40:09 2017
 OS/Arch:      darwin/amd64

Server:
 Version:      17.09.0-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:45:38 2017
 OS/Arch:      linux/amd64
 Experimental: false
$ uname -a
Darwin Alexei-Workstation.local 16.7.0 Darwin Kernel Version 16.7.0: Wed Oct  4 00:17:00 PDT 2017; root:xnu-3789.71.6~1/RELEASE_X86_64 x86_64

عادة ما تختفي إذا انتظرت عددًا عشوائيًا من الثواني. لكنها ما زالت موجودة.

بالمناسبة. بالنسبة لي حدث ذلك أثناء عامل الإرساء - إنشاء مجلدات - إزالة الأيتام

ما زلت ترى هذه "الشبكات المعزولة" هل يمكنك إعادة فتح @ rmb938thaJeztah

استجابة الخطأ من البرنامج الخفي: تحتوي الشبكة abcd_default id 3f2f1a6cb1cee2d82f2e2e59d10a099834a12b18eb7e3e48d6482d758bd93617 على نقاط نهاية نشطة

docker version
Client:
 Version:      17.06.0-ce
 API version:  1.30
 Go version:   go1.8.3
 Git commit:   02c1d87
 Built:        Fri Jun 23 21:23:31 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.06.0-ce
 API version:  1.30 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   02c1d87
 Built:        Fri Jun 23 21:19:04 2017
 OS/Arch:      linux/amd64

الطريقة الوحيدة لتقليمهم يبدو أن إعادة تشغيل المحرك

حظا سعيدا اليوم

docker-compose down
Removing network gen365cms_default
ERROR: network gen365cms_default id b6c51b1a83ee2b938ee1c7f7148347dc9ef80a8d8ed93334873f1f84b3f27c04 has active endpoints
docker version
Client:
 Version:   17.12.0-ce-rc4
 API version:   1.35
 Go version:    go1.9.2
 Git commit:    6a2c058
 Built: Wed Dec 20 15:53:52 2017
 OS/Arch:   darwin/amd64

Server:
 Engine:
  Version:  17.12.0-ce-rc4
  API version:  1.35 (minimum version 1.12)
  Go version:   go1.9.2
  Git commit:   6a2c058
  Built:    Wed Dec 20 15:59:49 2017
  OS/Arch:  linux/amd64
  Experimental: true

لا يزال هذا قابلاً للتكرار على Docker version 18.06.1-ce, build e68fc7a
يبدو أنه حتى عند إزالة حاويات ملف الإنشاء ، لا تتم إزالة نقاط النهاية الخاصة بهم أحيانًا ، وهو ما قد يحدث أحيانًا عند فقد الطاقة ، لذلك تفشل التركيبات في البدء تمامًا أو إزالتها تمامًا.

عندما لا يعمل أي أمر ثم تفعل
sudo service docker restart
سوف تحل مشكلتك

أو sudo reboot -f . يعمل بنسبة 100٪.

لدي مشكلة مماثلة اليوم. ما فعلته هو تشغيل "docker container ls -a" ورأيت عددًا قليلاً من الحاويات التي لا تزال قيد التشغيل تستخدم الشبكة التي أطلقتها عبر مكدس عامل الإرساء. لذلك يدويًا عندما قتلت تلك الحاويات ، تمكنت من حذف الشبكة

أعتقد أنني واجهت المشكلة التي ذكرها @ danwdart هنا . أنا على Docker version 18.09.2, build 6247962 وقمت بتشغيل docker-compose -f $PATH_TO_MY_CONFIG down ، وتلقيت الخطأ التالي:

ERROR: error while removing network: network michaelmoore_default id 6838b92e60a83f53c5637065e449f9124a2f297c482f1a7326cf247bfd38f70c has active endpoints

لقد تركت بطارية الكمبيوتر المحمول الخاص بي تنفد الليلة الماضية ، وهو ما نادرًا ما أفعله ، وبعد إعادة تشغيل عامل الإرساء تمكنت من تشغيل نفس أمر الإنشاء "down" بنجاح.

قد يكون هذا واضحًا للبعض ، لكنه لم يكن لي ، فقط اعتقدت أنني سأشاركه.

كنت بحاجة إلى تشغيل docker-compose rm - docker-compose down هو ما أفعله عادةً و ps -a لم يظهر أي حاويات ، لذا فقد تعثرت فعلاً حتى قمت بتشغيل rm cmd . اعتقدت أن أشارك.

انتهى بي الأمر بنفس المشكلة ، حيث لم تكن الشبكة قادرة على الإزالة مع جميع الارتباطات ، مع الإشارة إلى المساعدة. إصداري هو إصدار Docker 18.09.6 ، بناء 481bc77

لإصلاح ذلك ، قمت بإعادة تشغيل خدمات عامل الإرساء. عن طريق "sudo service docker reset" بعد ذلك تمكنت من الإزالة باستخدام "docker network rm {network}"

danwdart @ سبب آخر لذلك هو وجود حاويات متدلية. لإزالتها ، استخدم الأمر docker-compose down --remove-orphans الذي يجب أن يؤدي الغرض.

مرحبًا من عام 2019 ، mavenugo ، أود أن أنقل خالص شكري وصادق إلى حل هذه

لا تزال هذه مشكلة بعد أكثر من أربع سنوات. هل هناك طريقة أبسط لفصل كل حاوية عن كل شبكة متصلة بها أكثر من نص شل مكون من 10 + سطر؟ FWIW يبدو أن هذا يعمل:

#!/usr/bin/env bash

set -o errexit -o nounset -o pipefail

trap 'rm --recursive "$workspace"' EXIT
workspace="$(mktemp --directory)"
error_log="${workspace}/error.log"

for container_id in $(docker ps --all --quiet)
do
    readarray -t network_names < <(docker inspect "$container_id" | jq --raw-output '.[] | .NetworkSettings.Networks | if . == null then empty else keys | .[] end')
    for network_name in "${network_names[@]}"
    do
        echo "Disconnecting container ${container_id} from network ${network_name}."
        exit_code=0
        docker network disconnect "$network_name" "$container_id" 2> "$error_log" || exit_code="$?"
        if [[ "$exit_code" -ne 0 ]]
        then
            if grep --fixed-strings --quiet --regexp 'not connected to network' --regexp 'not connected to the network' "$error_log"
            then
                echo 'Ignoring "not connected" error…'
            else
                cat "$error_log" >&2
                exit "$exit_code"
            fi
        fi
    done
done

في تلخيص:

  1. قم بإعداد فخ لإزالة مساحة العمل عند الخروج.
  2. قم بإنشاء مساحة العمل.
  3. لكل حاوية:

    1. لكل شبكة ، ترتبط الحاوية بـ:



      1. حاول قطع الاتصال.


      2. إذا فشل قطع الاتصال لأنه غير متصل بالفعل بالشبكة ، فتجاهل الخطأ (للأسف يبدو أنه عشوائي سواء كان "the" جزءًا من رسالة الخطأ هذه). وإلا تفشل.



يعمل مزيج من حل mavenugo وشبكة عامل

شكرا آخر لكم mavenugo هنا من 2020

mavenugo إذا كنت تقصد بـ docker network disconnect -f {network} {endpoint-name} docker network disconnect [OPTIONS] NETWORK CONTAINER لكل docker network disconnect --help ، حاولت ذلك ، لكنها اشتكت (ليس مفاجئًا) من No such container .

إذا كنت تقصد EndpointID بدلاً من اسم / معرف الحاوية ، لم أحاول ذلك (لكنني سأفعل ذلك في المرة القادمة) لأن هذا ليس ما اقترحه --help .

keithbentrup - الأمر أعلاه {endpoint-name} هو في الأساس container-id/name في الناتج الذي يحصل عليه من الأمر أدناه:

$deminem: docker network inspect e60b9386b9e2 حيث يمثل e60b9386b9e2 معرّف الشبكة.

[
    {
        "Name": "project-name-master_default",
        "Id": "e60b9386b9e20f5222513bd6166f6d8e3224e72e906e2b07376e88ba79d87b26",
        "Created": "2020-04-02T18:48:29.2694181Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": true,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "d435c36e882ec91dff780c55c0399c52b14096baea402647eaff2f1593602df9": {
                **"Name": "project-name-master_monitoring_1"**,
                "EndpointID": "7838e98efd8be4cabccc778707efadbb6194cbd73dc907f0129ee8b9119e4349",
                "MacAddress": "02:42:ac:12:00:0e",
                "IPv4Address": "172.18.0.14/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "default",
            "com.docker.compose.project": "project-name",
            "com.docker.compose.version": "1.25.4"
        }
    }
]

ملاحظة: كما تم تمييزه بخط غامق. "Name": "project-name-master_monitoring_1" .

فقط كان مع

docker --version
Docker version 19.03.12-ce, build 48a66213fe
uname -a
Linux jotunheim 5.8.5-arch1-1 #1 SMP PREEMPT Thu, 27 Aug 2020 18:53:02 +0000 x86_64 GNU/Linux

على القوس. ساعد إعادة تشغيل الخدمة.

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