Ich bin mir nicht sicher, ob dies in dieses Repository oder libnetwork gehört.
Docker-Version: Docker version 1.9.0-rc1, build 9291a0e
Docker-Info:
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
Listen Sie die Schritte auf, um das Problem zu reproduzieren:
Beschreiben Sie die Ergebnisse, die Sie erhalten haben:
Wenn der Remote-Netzwerktreiber bei der Verarbeitung von /NetworkDriver.Leave einen Fehler ausgibt, beendet und entfernt das Docker immer noch den Container, entfernt jedoch nicht den Endpunkt. Dadurch kann die interne Datenbank von Docker denken, dass der Endpunkt noch vorhanden ist, obwohl der Container entfernt wird.
Wenn Sie versuchen, das Netzwerk zu entfernen, wird dieser Fehler zurĂŒckgegeben
docker network rm net1
Error response from daemon: network net1 has active endpoints
Beschreiben Sie die erwarteten Ergebnisse:
Docker sollte nicht berechtigt sein, den Container zu beenden oder zu entfernen, wenn /NetworkDriver.Leave einen Fehler zurĂŒckgegeben hat.
Dieses Problem scheint sehr intermittierend zu sein und tritt nicht sehr oft auf.
@rmb938 wir hatten ein paar Probleme mit baumelnden Endpunkten und wurden ĂŒber #17191 behoben. RC2 sollte dafĂŒr einen Fix haben (oder den neuesten Master). FĂŒr RC1-Tester (groĂen Dank) benötigen wir möglicherweise einen zusĂ€tzlichen Workaround, um die ZustĂ€nde vor dem Starten von RC2 zu bereinigen. Wir werden mit den richtigen Dokumenten aktualisieren.
Fantastisch. Vielen Dank.
@mavenugo Ich habe dies gerade in 1.10.0 reproduziert:
scheint, dass #17191 keine vollstÀndige Lösung war ...
Haben Sie einen Workaround? Selbst das Bouncen des Docker-Daemons scheint die Dinge nicht zu lösen.
(und lassen Sie es mich wissen, wenn ich Ihnen mehr Debug-Informationen besorgen kann, es wird immer noch auf meinem Computer repro't)
Ich habe dies auch gerade in 1.10.3 reproduziert und bin hier ĂŒber Google gelandet, um nach einer Lösung zu suchen. Ich kann die Trennung der aktiven Endpunkte nicht erzwingen, da keiner der ĂŒber docker network inspect
aufgelisteten Container noch existiert.
Ich musste schlieĂlich meinen Konsul-Container neu erstellen und den Docker-Daemon neu starten.
ping @mavenugo möchten Sie, dass dieses Problem erneut geöffnet wird, oder bevorzugen Sie ein neues Problem, falls es eine andere Ursache hat?
Klarstellung, Docker 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
Lassen Sie mich das zur Untersuchung wieder öffnen
Madhu, Ihnen zugewiesen, aber Sie können es gerne neu zuweisen, oder weisen Sie auf die entsprechende Problemumgehung hin, wenn sie bereits vorhanden ist :smile:
@keithbentrup @brendandburns danke, dass du das Problem angesprochen hast . Paar Fragen
docker network ls
teilen./var/lib/docker/network/files/local-kv.db
(ĂŒber eine File-Sharing-Website) teilen und welche network
Sie entfernen möchten? Und wie entstand das Netzwerk ursprĂŒnglich?Zu Ihrer Information. FĂŒr einen Multi-Host-Netzwerktreiber verwaltet Docker die Endpunkte fĂŒr ein Netzwerk im gesamten Cluster im KV-Store. Wenn also auf einem Host in diesem Cluster noch ein Endpunkt in diesem Netzwerk aktiv ist, wird dieser Fehler angezeigt, und dies ist eine erwartete Bedingung.
@thaJeztah PTAL mein Kommentar oben und basierend auf dem Szenario muss dies kein Fehler sein. Ich bin in Ordnung, dieses Thema offen zu halten, wenn das hilft.
@mavenugo Ja, ich verwende den Overlay-Treiber ĂŒber docker-compose mit einem
Als ich das Netzwerk auf jedem einzelnen Knoten docker network inspect
, hatte 1 Knoten 1 Container aufgelistet, der nicht mehr existierte und daher nicht von docker rm -fv
mit dem Containernamen oder der ID entfernt werden konnte.
@keithbentrup Dies ist ein veralteter Endpunktfall. Haben Sie zufĂ€llig das Fehlerprotokoll, als dieser Container ursprĂŒnglich entfernt wurde (der den Endpunkt in diesem Zustand belassen hat)?
Ăbrigens, wenn der Container entfernt wird, aber der Endpunkt immer noch angezeigt wird, kann man die Trennung des Endpunkts mit docker network disconnect -f {network} {endpoint-name}
erzwingen. Sie können den Endpunktnamen docker network inspect {network}
Befehl
@brendandburns können Sie bitte helfen, auf https://github.com/docker/docker/issues/17217#issuecomment -195739573 zu antworten?
@mavenugo Entschuldigung fĂŒr die VerspĂ€tung. Ich verwende kein Docker-Multi-Host-Netzwerk afaik. Es ist ein Single-Node-Raspberry-Pi und ich habe nichts anderes getan, als Docker ĂŒber Hypriot zu installieren.
Hier ist die von Ihnen angeforderte Ausgabe ( network
ist das Netzwerk, das ich nicht löschen kann)
$ docker network ls
NETWORK ID NAME DRIVER
d22a34456cb9 bridge bridge
ef922c6e861e network bridge
c2859ad8bda4 none null
150ed62cfc44 host host
Die kv-Datei ist angehÀngt, ich musste sie .txt nennen, um Github-Filter zu umgehen, aber es ist die BinÀrdatei.
Ich habe das Netzwerk ĂŒber direkte API-Aufrufe erstellt (Dockerode)
Dies hat viele Male funktioniert (erstellen und löschen), ich denke, in diesem Fall habe ich docker rm -f <container-id>
aber ich bin mir nicht sicher, ich habe die Maschine möglicherweise aus- und wieder eingeschaltet ...
Ich hoffe, das hilft.
--brendan
@mavenugo Wenn Sie mit docker network disconnect -f {network} {endpoint-name}
docker network disconnect [OPTIONS] NETWORK CONTAINER
pro docker network disconnect --help
meinen, habe ich das versucht, aber es hat sich (nicht ĂŒberraschend) mit No such container
beschwert.
Wenn Sie EndpointID
anstelle des Containernamens/der Container-ID gemeint haben, habe ich das nicht versucht (aber beim nÀchsten Mal), weil das nicht das ist, was die --help
vorgeschlagen haben.
@keithbentrup Ich meinte die Option -f
die in v1.10.x verfĂŒgbar ist. Die Option Force berĂŒcksichtigt auch den Endpunktnamen von anderen Knoten im Cluster. Daher funktionieren meine frĂŒheren Anweisungen mit der Option -f
wenn Sie Docker v1.10.x verwenden.
@brendandburns danke fĂŒr die Info und es ist sehr nĂŒtzlich, das Problem
@mavenugo froh, dass es geholfen hat. In der Zwischenzeit, wenn ich diese Datei wegblase, wird es dann noch funktionieren?
Danke
--brendan
@brendandburns ja. bitte fahre fort. es wird einfach gut fĂŒr dich funktionieren.
@mavenugo ich glaube du hast mich falsch verstanden. Ich habe die Option -f
(in meinem Shell-Verlauf ĂŒberprĂŒft) in v1.10.x verwendet, aber mit der Container-ID (nicht der Endpunkt-ID) b/c, was die Hilfe vorschlĂ€gt (der Container nicht der Endpunkt). Wenn es entweder mit der Container-ID oder der Endpunkt-ID funktionieren soll, ist dies ein Fehler, b/c es wird sicherlich nicht mit der Container-ID und der Option -f
wenn der Container nicht mehr existiert.
Ich konnte beim Versuch, docker_gwbridge zu entfernen, eine Bedingung wiederherstellen, die die Verwirrung lindern könnte.
Als ich den Docker-Client verwendet habe, der auf einen Schwarmmanager verweist, habe ich diese Ausgabe erlebt:
~/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
Ich habe zuerst versucht, den Container nach dem Containernamen (nicht gezeigt), dann nach der ID und dann nach der Container-Endpunkt-ID zu entfernen. Keine war erfolgreich. Dann habe ich mich beim Docker-Host angemeldet und den lokalen Docker-Client verwendet, um Befehle ĂŒber den Docker-Unix-Socket auszugeben:
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) Beachten Sie die Ausgabe von swarm vs. direct docker client: swarm bezieht sich auf Container; docker bezieht sich auf Endpunkte. Das sollte wohl konsequent gemacht werden.
2) Die einzige erfolgreiche Option war die Angabe eines Endpunktnamens (nicht Containername oder ID oder Endpunkt-ID). Das --help
sollte klarstellen, dass mehrere Eingaben akzeptabel gemacht werden sollten.
3) Ich habe den Endpunktnamen nicht mit swarm getestet, daher weià ich nicht, ob das funktioniert hÀtte.
@keithbentrup das ist richtig. wie ich vorhin vorgeschlagen habe. die docker network disconnect -f {network} {endpoint-name}
... verwenden bitte den Endpunktnamen. Wir können dies verbessern, um auch endpoint-id zu unterstĂŒtzen. Aber ich wollte bestĂ€tigen, dass Sie mit der Force-Option Fortschritte machen konnten.
@mavenugo, aber was Sie vorschlagen, ist nicht das, was die Hilfe sagt. auĂerdem fehlt ihm die Konsistenz der meisten cmds, bei denen id/name austauschbar sind.
Wenn andere diesen Thread nicht finden, werden andere dasselbe Problem wiederholen. Bevor Sie also die UnterstĂŒtzung fĂŒr endpoint-id hinzufĂŒgen, beheben Sie die --help
.
@keithbentrup wir werden sowohl die --help als auch die FunktionalitÀt reparieren.
Ich habe dieses Problem gerade mit Docker v1.11.2 beim Versuch docker-compose down
reproduziert.
Ein frĂŒherer Versuch, docker-compose down
auszufĂŒhren, hat das app_front-Netzwerk geschlossen.
$ 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": {}
}
]
Docker-Infos
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
Ich habe einige Probleme, wenn ich versuche, Schwarm-Overlay-Endpunkte zu trennen.
Fehlerantwort vom Daemon: Netzwerk es-swarm-overlay hat aktive Endpunkte
@rmb938 Bitte sagen Sie, was falsch ist? können andere Probleme mit diesen Fragen haben?
@mavenugo
docker network disconnect -f [Network-Name] [Endpoint-Name]
Das hat bei mir funktioniert.
Ich habe möglicherweise das gleiche Problem mit docker 1.13.0
.
Da niemand in diesem Thread ein Beispiel dafĂŒr gegeben hat, was ich getan habe, werde ich es posten.
Bei Completes ist dies der Fehler, der es startet. Es kann daran liegen, dass ich codekitchen/dinghy-http-proxy:2.5.0
das auf Port 80 lauscht.
$ 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.
Und versuchen, alles zu Fall zu bringen:
$ 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
Und wie ich das Netzwerk getötet habe:
$ 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 hat eine gĂŒltige Lösung. Mein Team hat jedoch eine Docker-Compose-Datei mit ~ 20 Containern. Also habe ich eine andere Lösung gefunden.
Ich möchte hinzufĂŒgen, dass Sie auch den Docker-Daemon neu starten können (zB systemctl restart docker
auf Centos) und dann sind die Verbindungen zwischen Netzwerk und Containern weg. Sie können dann mit Erfolg docker system prune -f
.
@mdotson @nicolaiskogheim bitte öffnen Sie eine neue Ausgabe; Obwohl die Fehlermeldung dieselbe ist, wurde das hier besprochene ursprĂŒngliche Problem behoben. Sehen Sie dies nur, wenn Sie Docker Compose verwenden? In diesem Fall könnte es auch ein Problem in der Reihenfolge sein, in der Docker Compose Aktionen ausfĂŒhrt?
@thaJeztah Nur mit
Ich bin mir nicht sicher, aber ich denke, die meisten Leute googeln eine Fehlermeldung und werden hierher kommen, um nach einigen Befehlen zum Kopieren und EinfĂŒgen zu suchen, um ihr Problem zu beheben.
Ich hatte das gleiche Problem wie @nicolaiskogheim und @mdotson , mein influxdb-Container hatte keinen Speicher mehr und wurde ungesund. Ich konnte es nicht entfernen, stoppen oder entfernen (ich konnte es mit dem Force-Modus entfernen).
Danach habe ich versucht Docker noch einmal mit docker-compose
zu starten:
# 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.
als versucht, das Netzwerk zu löschen:
# docker network rm 834ea759c916
Error response from daemon: network docker_default has active endpoints
und dann habe ich @nicolaiskogheim Lösung
# 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
Docker Service Restart hat das Problem bei mir behoben.
sudo service docker restart
docker network rm <network name>
Ich sehe das gleiche Problem beim Versuch, einen Stapel zu entfernen:
> 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
Ich hatte den Stack zuerst so erstellt:
sudo docker stack deploy -c docker-compose.yml --with-registry-auth my-stack
Benutze diese Version:
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
GlĂŒcklicherweise behebt sudo service docker restart
es, aber immer noch kein ideales Verhalten.
Ist in 17.07.0-ce darauf gestoĂen, disconnect
Ansatz hat nicht funktioniert, dann Docker neu gestartet und rm
erneut erfolgreich ausgefĂŒhrt.
Ich bin auch mit einem 17.06-ce-Schwarmcluster darauf gestoĂen; auĂer dem Neustart keine Optionen mehr.
sudo service docker restart
es fĂŒr mich auf Ubuntu, sodass ich meine Container erneut bereitstellen und starten kann.
Funktioniert auch, wenn einer der Container sich weigert, getötet zu werden (geschieht mehr als ich hoffe). Ărgerlich, da ich alle Dienste wegen eines schelmischen Containers herunterfahren muss.
Habe dieses Problem auch in 17.09.0-ce. Ăffnen Sie das wieder!
Das passierte mir oft in einer Umgebung mit wenig Speicher. Sehen Sie, ob das HinzufĂŒgen von Speicher es besser macht, meine Prozesse stoppen jetzt normal.
@tomholub Nein, Speicher ist nicht das Problem. Aber Docker Service neu gestartet, dann konnte ich das Netzwerk entfernen.
Dieses Problem tritt immer noch von Zeit zu Zeit auf, wenn versucht wird, aktiv arbeitenden Container zu stoppen und zu entfernen. (Docker fĂŒr Mac Version 17.09.0-ce-mac35 (19611) Kanal: stabil 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
Normalerweise verschwindet es jedoch, wenn ich eine zufÀllige Anzahl von Sekunden warte. Aber es ist immer noch da.
Ăbrigens. Bei mir passierte es wĂ€hrend docker-compose down --volumes --remove-orphans
Wenn Sie diese "verwaisten Netzwerke" immer noch sehen, können Sie @rmb938 @thaJeztah wieder öffnen ?
Fehlerantwort vom Daemon: Netzwerk abcd_default ID 3f2f1a6cb1cee2d82f2e2e59d10a099834a12b18eb7e3e48d6482d758bd93617 hat aktive Endpunkte
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
Die einzige Möglichkeit, sie zu beschneiden, scheint ein Neustart des Motors zu sein
Viel GlĂŒck heute
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
Dies ist immer noch reproduzierbar auf Docker version 18.06.1-ce, build e68fc7a
Es scheint, dass selbst wenn die Container einer Compose-Datei entfernt werden, ihre Endpunkte manchmal nicht entfernt werden, was manchmal bei Stromausfall passieren kann, sodass Composes entweder nicht vollstÀndig gestartet oder vollstÀndig entfernt werden.
Wenn kein Befehl funktioniert, dann tun Sie
sudo service docker restart
dein problem wird gelöst
Oder sudo reboot -f
. Funktioniert 100%.
ich hatte heute ein Ă€hnliches Problem. Was ich tat, war, dass ich "docker container ls -a" ausfĂŒhrte und sah, dass nur wenige Container, die noch liefen, das Netzwerk nutzten, das ich ĂŒber den Docker-Stack gestartet hatte. Als ich diese Container manuell gelöscht habe, konnte ich das Netzwerk löschen
Ich glaube, ich bin gerade auf das Problem gestoĂen , das hier erwĂ€hnt Docker version 18.09.2, build 6247962
und habe docker-compose -f $PATH_TO_MY_CONFIG down
und die folgende Fehlermeldung erhalten:
ERROR: error while removing network: network michaelmoore_default id 6838b92e60a83f53c5637065e449f9124a2f297c482f1a7326cf247bfd38f70c has active endpoints
Ich habe gestern Abend tatsĂ€chlich meinen Laptop-Akku sterben lassen, was ich selten tue, und nach dem Neustart von Docker konnte ich den gleichen Befehl zum Verfassen "down" erfolgreich ausfĂŒhren.
Das mag fĂŒr manche offensichtlich sein, aber fĂŒr mich war es das nicht, ich dachte nur, ich wĂŒrde es teilen.
Ich musste nur docker-compose rm
ausfĂŒhren - docker-compose down
ist das, was ich normalerweise mache und ps -a
zeigte keine Container, also hat mich das wirklich gestolpert, bis ich das rm
Cmd ausgefĂŒhrt habe . Dachte, ich wĂŒrde es teilen.
Ich habe am Ende das gleiche Problem, da das Netzwerk nicht mit allen Aktionen entfernen konnte, das Notieren hat geholfen. meine Version ist Docker Version 18.09.6, Build 481bc77
Um das zu beheben, habe ich Docker-Dienste neu gestartet. durch "sudo service docker restart" danach kann ich mit "docker network rm {network}" entfernen
@danwdart Ein weiterer Grund dafĂŒr sind baumelnde Container. Um sie zu entfernen, verwenden Sie den Befehl docker-compose down --remove-orphans
, der den Zweck erfĂŒllen sollte.
Hallo aus 2019, @mavenugo Ich möchte meinen aufrichtigen, aufrichtigen Dank weitergeben, dass ich die Lösung zu diesem hier im Jahr 2016 hatte.
Das ist auch nach mehr als vier Jahren immer noch ein Thema. Gibt es eine einfachere Möglichkeit, jeden Container von jedem Netzwerk zu trennen, mit dem er verbunden ist, als ein Shell-Skript mit mehr als 10 Zeilen? FWIW das scheint zu funktionieren:
#!/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
Zusammenfassend:
Eine Kombination aus der @mavenugo- Lösung und Docker-Netzwerk-Prune, nachdem alles vom Netzwerk getrennt wurde, funktioniert fĂŒr mich.
Noch ein Dankeschön @mavenugo hier ab 2020
@mavenugo Wenn Sie mit
docker network disconnect -f {network} {endpoint-name}
docker network disconnect [OPTIONS] NETWORK CONTAINER
prodocker network disconnect --help
meinen, habe ich das versucht, aber es hat sich (nicht ĂŒberraschend) mitNo such container
beschwert.Wenn Sie
EndpointID
anstelle des Containernamens/der Container-ID gemeint haben, habe ich das nicht versucht (aber beim nÀchsten Mal), weil das nicht das ist, was die--help
vorgeschlagen haben.
@keithbentrup - Das {endpoint-name}
im obigen Befehl ist im Grunde das container-id/name
in der Ausgabe vom folgenden Befehl:
$deminem: docker network inspect e60b9386b9e2
wobei e60b9386b9e2 die Netzwerk-ID ist.
[
{
"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"
}
}
]
Hinweis: Wie fett hervorgehoben. "Name": "project-name-master_monitoring_1"
.
Hatte es gerade mit
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
auf Arch. Neustart des Dienstes hat geholfen.
Hilfreichster Kommentar
@keithbentrup Dies ist ein veralteter Endpunktfall. Haben Sie zufĂ€llig das Fehlerprotokoll, als dieser Container ursprĂŒnglich entfernt wurde (der den Endpunkt in diesem Zustand belassen hat)?
Ăbrigens, wenn der Container entfernt wird, aber der Endpunkt immer noch angezeigt wird, kann man die Trennung des Endpunkts mit
docker network disconnect -f {network} {endpoint-name}
erzwingen. Sie können den Endpunktnamendocker network inspect {network}
Befehl