Compose: "Treiber beim Programmieren der externen Konnektivität auf dem Endpunkt fehlgeschlagen" (1.7.0-rc1)

Erstellt am 6. Apr. 2016  ·  278Kommentare  ·  Quelle: docker/compose

Ich bin mir ziemlich sicher, dass dies mit Docker-Compose 1.7.0-rc1 funktioniert hat, bevor ich den neuesten Docker für Mac Beta installiert habe, der auf Docker 1.11.0-rc3 aktualisiert wurde. Ich versuche, den socat-Dienst auf Port 172.17.0.1:8123 auszuführen, damit er für Docker-Builds verfügbar ist. Mein echtes yml verwendet eine Umgebungsvariable für die IP-Adresse, aber es passiert auch, wenn es fest codiert ist.

ERROR: for socat_httpcache  driver failed programming external connectivity on endpoint test_socat_httpcache_1 (5d973ed559d63a5561b715248f797a336915a44960b5e32e622ac8349b16e5d2): Error starting userland proxy: failed to bind port: Unix.Unix_error(Unix.EADDRNOTAVAIL, "bind", "")
version: '2'
services:
  httpcache:
    restart: always
    image: clue/polipo
    command: proxyAddress=0.0.0.0 allowedClients=0.0.0.0/0 disableIndexing=false disableServersList=false
    mem_limit: 500m
    memswap_limit: 500m
    volumes:
      - /var/cache/polipo

  socat_httpcache:
    restart: always
    hostname: POLIPO1
    image: bobrik/socat
    mem_limit: 50m
    command: TCP-LISTEN:8123,fork,reuseaddr TCP:httpcache:8123
    depends_on:
      - httpcache
    ports:
      - "172.17.0.1:8123:8123"

verbose.txt

arenetworking

Hilfreichster Kommentar

Bitte hören Sie auf, +1 zu senden, da dies alle Abonnenten-Posteingänge spammt. Verwenden Sie entweder die Emoticons (Smiley rechts neben jedem Kommentar) oder geben Sie zumindest Ihr vollständiges Setup, die Versionsnummern usw. an. Danke

Alle 278 Kommentare

@ Jamshid
Können Sie das O / P von sudo netstat -nlp | grep 8123 posten? Vielen Dank.

Mein Mac sagt, dass -p ein Argument erfordert, also denke ich, dass dies das ist, was Sie wollen:

$ sudo netstat -nl -p tcp  | grep 8123
(nothing)
$ sudo netstat -nl -p tcp  | head    # to confirm mac output is what you expect
Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)    
tcp4       0      0  192.168.2.4.52918      216.58.194.34.80       ESTABLISHED
tcp4       0      0  192.168.2.4.52917      23.199.236.147.80      ESTABLISHED
tcp4       0      0  192.168.2.4.52916      192.229.163.25.443     ESTABLISHED
tcp4       0      0  192.168.2.4.52915      192.229.163.175.80     ESTABLISHED
...
$ docker ps -a | grep 8123
7baf5b2ec0eb        clue/polipo               "polipo proxyAddress="   26 minutes ago      Up 12 minutes                  8123/tcp            test_httpcache_1
3fea15e3d5b4        clue/polipo               "polipo proxyAddress="   33 minutes ago      Up 19 minutes                  8123/tcp            buildenv_httpcache_1

das gleiche passiert mir.

Beim Neustart mit Docker-Compose Up tritt das gleiche Problem auf. In meinem Fall handelt es sich um einen Nginx-Proxy-Dienst, der nicht gestartet werden kann. Muss mit dem Docker für Mac Beta verwandt sein. Es begann nach der Installation der Beta und ist nach der Umstellung auf Virtualbox nicht mehr aufgetreten.

Docker-Compose Version 1.7.0, Build 0d7bf73
Docker Version 1.11.0, Build 4dc5990

Ich habe den gleichen Fehler festgestellt, wenn ich versuche, meinen Stack mit Docker-Compose zu starten. Alle Container bis auf einen (Konsul) starten korrekt. Ich erhalte diesen Fehler

ERROR: for consul driver failed programming external connectivity on endpoint devas_consul_1 (6ceba32c51cb70b354f 2f4b68d173ca97a65d6a0bfd308d3137e2a7069abd1b6): Error starting userland proxy: Failed to bind: EADDRNOTAVAIL

Ich bin sicher, es hat etwas mit meiner Docker-Version Beta für Mac zu tun.

docker-compose -v docker-compose version 1.7.0, build 0d7bf73

Ich verwende die letzte Docker-Beta-Version für Mac

`
Docker-Version
Klient:
Version: 1.11.1
API-Version: 1.23
Go-Version: go1.5.4
Git Commit: 5604cbe
Gebaut: Mi 27 Apr 00:34:20 2016
OS / Arch: darwin / amd64

Server:
Version: 1.11.1
API-Version: 1.23
Go-Version: go1.5.4
Git Commit: 8b63c77
Gebaut: Fr 29 Apr 14:13:26 2016
OS / Arch: Linux / AMD64
`

Nach der obigen Meldung erhalte ich Error starting userland proxy: Failed to bind: EADDRINUSE.
Verwirrt darüber, wo der Konflikt ist, wo vorher keiner existierte

Wie "gibt" man den verwendeten Port frei, damit compose den Container wieder aufrufen kann? Als es das erste Mal passierte, wartete ich ungefähr eine Minute und es funktionierte beim zweiten Versuch. Zum zweiten Mal war es ungefähr eine Stunde. Docker komponieren kill, down, rm --all usw. und etwas hat es immer noch im Griff.

Zu Ihrer Information, verfolgt in der Beta @ https://forums.docker.com/t/port-mappings-are-not-released/10565/11

Ich finde heraus, worum es bei dem Problem geht. Der Container (Konsul), der das Problem verursacht, hat diesen Bindungsport 172.17.0.1:53:8600/udp . Ich habe es durch 53:8600/udp und es funktioniert jetzt. Ich habe noch nicht verstanden, warum die erste Bindung nicht funktioniert. Übrigens, wie kann ich die IP-Adresse der Bridge kennen?

Hallo, ich hatte das gleiche Problem mit Docker Version 1.11.1 unter Mac OSX.
ERROR: for nginx driver failed programming external connectivity on endpoint managercentralapp_nginx_1 (e11d19ee8f486a2e12c9c87802dca7ea5f541f026645f69e338e94732ac1eb56): Error starting userland proxy: Failed to bind: EADDRINUSE

Ich bekomme dies auch nach dem Upgrade auf Docker 1.12-rc2, nicht sicher, ob dies der richtige Ort ist, um dies zu posten.

Client:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:        Fri Jun 17 20:35:33 2016
 OS/Arch:      darwin/amd64
 Experimental: true

Server:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd-unsupported
 Built:        Fri Jun 17 21:12:28 2016
 OS/Arch:      linux/amd64
 Experimental: true

Voller Fehler:

Error response from daemon: driver failed programming external connectivity on endpoint xxx_xxx_1 (xxx): Bind for 0.0.0.0:2224 failed: port is already allocated

netstat:

tcp6       0      0 :::2224                 :::*                    LISTEN      9083/docker-proxy

Ich sehe das sporadisch. Das Wiederholen des Befehls nach einer Minute "behebt" normalerweise das Problem.
Dies ist nach dem gestrigen Wechsel zu Docker für Mac.

$ docker version
Client:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:        Fri Jun 17 20:35:33 2016
 OS/Arch:      darwin/amd64
 Experimental: true

Server:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   a7119de
 Built:        Fri Jun 17 22:09:20 2016
 OS/Arch:      linux/amd64
 Experimental: true

Ich habe auch den gleichen Fehler wie ihr bekommen. Ich glaubte, es lag daran, dass Nginx seine bereits belegten Ports bindet, aber ich denke jetzt nicht. Hat jemand Lösungen dafür gefunden? :) :)

+1 Gleicher Fehler auf dem Mac

Ich hatte dies nach einem Umzug nach Docker for Mac , aber nach dem Stoppen und Entfernen aller Container nach dem Umzug, Neustarten des Dockers, Neuerstellen des Containers usw. usw. Es wurde behoben.

Ich hatte dies heute wieder nach einem Update von Docker for Mac , aber das Wiederholen des obigen Szenarios wurde behoben. Ich gehe davon aus, dass der Port (und "andere" Dinge), die ich bestimmten Containern zuweise, erst freigegeben wird, wenn er vollständig bereinigt wurde.

z.B:

ERROR: for nginx driver failed programming external connectivity on endpoint dev_nginx (4c340c55f7402c7b265803ea64541ebdf8613f4b43dfa816001d27bdc4f513b3): Error iptables FORWARD: Another app is currently holding the xtables lock; waiting (1s) for it to exit... ERROR: Encountered errors while bringing up the project.

+1 haben das gleiche Problem auf dem Mac

@TuningGuide MacBook Pro (15 Zoll, Ende 2011), 2,2 GHz Intel Core i7, 8 GB 1333 MHz DDR3
Running Node 4.4.7 wurde erweitert, um Ember CLI zu unterstützen. Das Setup ist unten:

FROM node:4.4.7

# expose ember-cli ports
EXPOSE 4200 35729 49152

# install ember-cli dependencies
RUN npm install -q -g ember-cli
RUN npm install -q -g bower
RUN npm install -q -g phantomjs-prebuilt

# install watchman
# http://ember-cli.com/user-guide/#watchman
RUN \
  git clone https://github.com/facebook/watchman.git &&\
  cd watchman &&\
  git checkout v3.5.0 &&\
  ./autogen.sh &&\
  ./configure &&\
  make &&\
  make install

Lief mit gemountetem Volume der Ember-Cli-Dateien unter Verwendung von 'Ember Serve' als Befehl.

+1 gleiches Problem auf dem Mac mit Docker für Mac

Bitte hören Sie auf, +1 zu senden, da dies alle Abonnenten-Posteingänge spammt. Verwenden Sie entweder die Emoticons (Smiley rechts neben jedem Kommentar) oder geben Sie zumindest Ihr vollständiges Setup, die Versionsnummern usw. an. Danke

➜  ~ docker info
Containers: 2
 Running: 0
 Paused: 0
 Stopped: 2
Images: 2
Server Version: 1.12.0-rc3
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 21
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null host bridge overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.14-moby
Operating System: Alpine Linux v3.4
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 1.954 GiB
Name: moby
ID: GZAT:26TX:PYCM:KKNA:JSWY:AMEL:RQYI:O23B:QGSQ:WBVB:3Q7E:XDPJ
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 18
 Goroutines: 30
 System Time: 2016-07-08T17:41:26.03558348Z
 EventsListeners: 1
No Proxy: *.local, 169.254/16
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 127.0.0.0/8
➜  ~ cat docker-compose-local.yml
version: '2'
services:
  cache:
    image: redis
    command: redis-server --appendonly yes
    ports:
      - "6379:6379"
  db:
    image: postgres:9.4
    ports:
      - "5432:5432"
    volumes:
      - ./tmp/dump.gz:/tmp/dump.gz
      - ./tmp/dump.sh:/docker-entrypoint-initdb.d/dump.sh
    environment:
      POSTGRES_DB: dbname
      POSTGRES_USER: dbuser
      POSTGRES_PASSWORD: dbpass

Habe nächste Fehler:

ERROR: for cache  driver failed programming external connectivity on endpoint carsaver_cache_1 (253054ef6864bdcb5377bd1690173fa352021d505dc05c3aafecf66b02c0b73d): Error starting userland proxy: write /port/tcp:0.0.0.0:6379:tcp:172.18.0.2:6379/ctl: errno 526

ERROR: for db  driver failed programming external connectivity on endpoint carsaver_db_1 (8a5990bd06a50d87c7db96de84367bb01b71c971d5a4b9e578fea7d75d893d59): Error starting userland proxy: write /port/tcp:0.0.0.0:5432:tcp:172.18.0.3:5432/ctl: errno 526
ERROR: Encountered errors while bringing up the project.

Gefundene Lösung für Personen mit dem gleichen Fehler wie oben gezeigt.
Ich habe zuvor Docker Toolbox verwendet, aber Virtualbox nicht gelöscht. Es wurden meine Ports verwendet, sodass ich nicht starten kann. Nach dem vollständigen Entfernen von VirtualBox hat docker-compose fantastisch funktioniert.

@aanand @dnephin Bitte fügen Sie Getting Started eine Warnung wie oben erläutert hinzu.

@miraage freut sich zu hören, dass Sie Ihr Problem gelöst haben.
Ich hatte Ihre Volumendaten + dump.sh nicht, habe aber ohne Probleme schnell komponiert:

Creating driverfailed_cache_1
Creating driverfailed_db_1
Attaching to driverfailed_cache_1, driverfailed_db_1

@jamshid Warum geben Sie eine IP für socat an (nicht vertraut damit)? Wie benutzt du es?
Wenn ich ein docker-compose up ohne die IP mache, habe ich keine Probleme:

Creating socat_httpcache_1
Creating socat_socat_httpcache_1
Attaching to socat_httpcache_1, socat_socat_httpcache_1
docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
f2e3b3767982        bobrik/socat        "socat TCP-LISTEN:812"   2 seconds ago       Up 1 seconds        0.0.0.0:8123->8123/tcp   socat_socat_httpcache_1
43dbd35629e0        clue/polipo         "polipo proxyAddress="   3 seconds ago       Up 2 seconds        8123/tcp                 socat_httpcache_1

Wenn Ihr Ziel darin besteht, dass Ihr http_cache mit dem Socat-Container kommuniziert, können Sie ihn in dasselbe Netzwerk stellen und damit fertig sein.

version: '2'
services:
  httpcache:
    restart: always
    image: clue/polipo
    command: proxyAddress=0.0.0.0 allowedClients=0.0.0.0/0 disableIndexing=false disableServersList=false
    mem_limit: 500m
    memswap_limit: 500m
    volumes:
      - /var/cache/polipo
    networks:
      - socatnet

  socat_httpcache:
    restart: always
    hostname: POLIPO1
    image: bobrik/socat
    mem_limit: 50m
    command: TCP-LISTEN:8123,fork,reuseaddr TCP:httpcache:8123
    depends_on:
      - httpcache
    networks:
      - socatnet
networks:
  socatnet:

Nun, ich verwende Docker Engine 1.11.2 in Centos7 in einem Continuous Build / Integration-Flow, um Tests zu automatisieren. Soweit ich das beurteilen kann, tritt dieser Fehler schließlich auf, obwohl kein Container ausgeführt wird (während eine bestimmte Version erneut bereitgestellt wird) des gesamten Service-Stacks). Es scheint auch damit zu tun zu haben, dass die Docker-Engine manchmal einen Fehler beim Versuch der Bereinigung nach dem Entfernen laufender Container erhält und einige iptables-Regeln aus irgendeinem Grund weiterhin Netzwerkports zuweisen, möglicherweise im Zusammenhang mit https://github.com/ Docker / Docker / Issues / 23371 # issuecomment -229982105 - aber da bin ich mir immer noch nicht sicher.

Ich hatte ziemlich das gleiche Problem mit Docker für Mac, auf dem postgresql container ausgeführt wurde. Für mich wurde dies durch Postgres verursacht, die auf demselben Port auf dem Hostsystem ausgeführt wurden wie der in meiner Compose-Konfigurationsdatei angegebene Port. Ziemlich offensichtliche Sache, könnte aber für jemanden hilfreich sein, denke ich.
Danke für das coole Tool. 👍

Ich hatte ein ähnliches Problem mit Docker für Mac, auf dem Nginx-Container ausgeführt wurde. Mein Port 80 wurde von Apache (nativ) verwendet. Ich habe Telnet und Netstat verwendet, um den laufenden Dienst zu sehen.

Für mich war es Tintenfisch, ich hörte auf Tintenfisch und sah das nicht mehr. Ich denke, es hat möglicherweise damit zu tun, was den Port belegt und ob wir Docker zwingen, diesen Port zuzuordnen.

Gleich hier wie @marcosalberto und andere. Der Beitrag, an den ich postgres mounten wollte, wurde bereits verwendet. Ich habe gerade den Hafen gewechselt und die Dinge haben ganz gut funktioniert.

Unter OSX wird der integrierte Apache-Webserver möglicherweise auf den Ports 80/443 ausgeführt. Überprüfen:
ps -ef | grep httpd

So schalten Sie es aus:
sudo apachectl stop

Ja, es ist für mich gearbeitet. Ich habe OS X ohne aktivierten Apache, aber einige Tage später habe ich diese Website verwendet: https://coolestguidesontheplanet.com/upgrade-php-on-osx/ für das Update von PHP.

Nach diesem Skript

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

empfohlen für die PHP-Aktualisierung Apache wurde aktiviert und ich bekam Überraschung mit meinen Containern.

Wenn wir "PHP aktualisieren" wollen, wollen wir nicht "Apache aktivieren", aber die obige Website hat den ersten Platz in Google :(

Viel Spaß beim Andocken!

Manchmal kann docker-compose den gewünschten Container nicht starten und der Port ist mit einem Abhörvorgang beschäftigt. Versuchen Sie also, alle (Abhör-) Ports mit aufzulisten

lsof -nP +c 15 | grep LISTEN

# outputs
Dropbox             384  IPv4 0x82c      TCP 127.0.0.1:17600 (LISTEN)
com.docker.slirp   6218  IPv4 0x82c      TCP *:5432 (LISTEN) <<<MOSTLY THE PROBLEM
Python             6268  IPv4 0x82c      TCP 127.0.0.1:51617 (LISTEN)

# then kill the com.docker.slirp process id if it's the one causing the problem
kill -9 6218

AKTUALISIEREN:
Ich konnte dieses Problem auch (mehrmals) reproduzieren ... einen Dienst lokal starten, der Port XXX und einen Container starten, der denselben Port XXX verfügbar macht ...
docker-compose up kann nicht ausgeführt werden, und der Prozess com.docker.slirp wird nicht beendet, sodass das Problem weiterhin besteht, bis der Prozess com.docker.slirp manuell beendet wird (ich habe sogar einen Alias ​​hinzugefügt, um dies zu tun alias portfix='pkill com.docker.slirp' )

+1 auf dem Mac

@ mad-raz tolle Abhilfe! Vielen Dank!

Hatte die gleiche Art von Fehler
Error starting userland proxy: write /port/tcp:0.0.0.0:80:tcp:172.17.0.5:80/ctl: errno 526

Es war Nginx für mich.
Ich musste den Nginx töten, um ihn zu umgehen sudo nginx -s stop

+1 auch hier.

Versuchte die von @ mad-raz vorgeschlagene Problemumgehung und löschte alle Reservierungen aus, aber sie kommen nach ein paar Sekunden wieder. Es sieht so aus, als würde der Prozess com.docker.slirp von einem Watchdog-Dienst erneut erzeugt. Infolgedessen taucht der Fehler beim nächsten Docker-Compose auf.

driver failed programming external connectivity on endpoint ... Bind for 0.0.0.0:9086 failed: port is already allocated

Docker-Compose Version 1.8.0-rc2, Build c72c966

Nach dem Herunterfahren von Docker für Mac bleiben diese Prozesse bestehen.
% ps -ef | grep docker !10007 0 1086 1 0 Tue03PM ?? 0:00.01 /Library/PrivilegedHelperTools/com.docker.vmnetd 648074730 30807 1 0 1:49PM ?? 0:00.07 /Applications/Docker.app/Contents/MacOS/com.docker.osx.hyperkit.linux -watchdog fd:0 648074730 30808 30807 0 1:49PM ?? 0:00.03 /Applications/Docker.app/Contents/MacOS/com.docker.osx.hyperkit.linux -watchdog fd:0 648074730 30810 30807 0 1:49PM ?? 0:02.08 com.docker.db --url=file:///Users/astone/Library/Containers/com.docker.docker/Data/s40 --git /Users/astone/Library/Containers/com.docker.docker/Data/database

+1 auf Mac :(

Eine Problemumgehung durch Deinstallieren von Docker über das Menü in der oberen Leiste (Docker-Symbol> Einstellungen> Deinstallieren) und erneutes Installieren :(

Vielen Dank an alexander-emelyanov!
Ich bekam plötzlich diesen Fehler, als ich docker-compose up -d für mein Projekt unter OS X ausführte, und stellte keine Beziehung zu der Tatsache her, dass ich PHP 7 auf meinem Mac installiert hatte (damit die SublimeText-Syntaxprüfungen korrekt funktionieren), mit den Liip-Skripten gleicher Tag.

Es war in der Tat darauf zurückzuführen, dass Apache auf meinem Mac gestartet wurde, und ich musste es einfach stoppen.

Ich habe das Problem mit Postgres. Ich habe überprüft, dass postgres auf meinem Host-Computer nicht mit brew services stop postgres . Ich habe lsof -i :5432 und die folgende Ausgabe erhalten:

image

Läuft Docker Postgres für etwas Internes? Als ich den Prozess mit SIGINT abgebrochen habe, wurde das Docker-Statusleistensymbol gestartet und der Dienst neu gestartet. Die einzige Möglichkeit, es zum Laufen zu bringen, bestand darin, den Host-Port in meiner Docker-Compose-Datei zu ändern.

Lesen Sie, es gibt eine Problemumgehung, die genau erklärt, dass https://github.com/docker/compose/issues/3277#issuecomment -232505775

@ mad-raz Beim Beenden des Vorgangs wird Docker (für Mac) automatisch sofort neu gestartet und die gleichen Ports werden nur wenige Sekunden nach ...

Am Ende habe ich Docker zurückgesetzt (und damit alle Container gelöscht), und das hat wieder funktioniert, alle Ports wurden freigegeben 😕

Dieses Problem ist wirklich zwei Probleme:

  1. Es gibt eine verwirrende Fehlermeldung, wenn ein Port bereits von einer anderen Anwendung (z. B. Apache) verwendet wird. Dies wurde in Docker 1.12.0 behoben (es heißt jetzt explizit "Port ist bereits zugewiesen").
  2. Nach dem Stoppen von Containern werden die von ihnen verwendeten Ports manchmal noch auf localhost abgebildet.

Hat jemand noch Problem Nr. 2 nach dem Upgrade von Docker für Mac auf die neueste Version ( 1.12.0 oder 1.12.0-beta21 wenn Sie sich im Beta-Kanal befinden)?

Ich bekomme immer noch dieses Problem.
Docker v1.12, Docker Compose v1.8.

Ich habe einen Nginx-Dienst erhalten, der einfach nicht gestartet werden kann, sowie verschiedene andere, die gelegentlich fehlschlagen:

ERROR: for nginx  Cannot start service nginx: driver failed programming external connectivity on endpoint test_nginx_1 (3f72f35baab64b37c667a4a98e9b8c4adc312e2df7a16c80030536101c695546): Bind for 0.0.0.0:80 failed: port is already allocated

Versucht, neu zu starten, das gesamte Projekt herunterzufahren und neu zu erstellen, aber nichts funktioniert.

Ausgabe von sudo netstat -tulpn | grep 80 :

tcp6       0      0 :::80                   :::*                    LISTEN      3455/dockerd

Docker Info:

Containers: 30
 Running: 30
 Paused: 0
 Stopped: 0
Images: 89
Server Version: 1.12.0
Storage Driver: btrfs
 Build Version: Btrfs v4.4
 Library Version: 101
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: apparmor seccomp
Kernel Version: 4.4.0-31-generic
Operating System: Ubuntu 16.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 9.765 GiB
Name: apps
ID: 7WCN:K7EU:M6IO:NPF2:UK2W:HBKO:MUSD:V7FC:RNWU:3FSA:BNAR:TZEH
Docker Root Dir: /mnt/storage/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 127.0.0.0/8

Ausführung:

Client:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 22:11:10 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 22:11:10 2016
 OS/Arch:      linux/amd64

Es ist erwähnenswert, dass mein Compose-Projekt 29 Services enthält.

Es ist auch seltsam, dass ich keine Verbindung zu Port 80 von einem anderen Host herstellen kann, wenn Docker ohne Grund an Port 80 festhält. Wenn Port 80 rechtmäßig von einem Container verwendet wird, kann auf Port 80 von außen problemlos zugegriffen werden.

Eine der Ursachen für dieses Problem ist das Fehlkonfigurieren von docker-compose.yml Wenn der Port nicht außerhalb der Container verwendet wird, sollte er expose: d anstelle von ports: ed sein
Durch die Verwendung von ports wird der Port sowohl für die anderen Service-Container als auch für den Host-Computer verfügbar gemacht, während expose den Port nur für die anderen Service-Container verfügbar macht (ohne die Host-Port-Zuordnungen zu beeinträchtigen). ...

Mein Problem ist kein Konfigurationsproblem (zumindest glaube ich nicht, dass es das ist).
Ich kann den Docker Daemon neu starten und alle meine Container neu starten. Jedes Mal werden verschiedene Container mit dem Fehler fehlschlagen. Scheint ein Fehler in Docker zu sein, der an Ports hängt, die es nicht sein sollte.

In meinem obigen Fall mit nginx überwacht Docker Port 80 und 443 immer noch, selbst wenn ich den Nginx-Container entferne und den Docker-Daemon neu starte: /

Also habe ich es geschafft, mein Problem zu beheben. Im Idealfall wollte ich Docker nicht deinstallieren, da ich alle meine Bilder behalten möchte. Ich habe einige heruntergeladen! Stattdessen habe ich alle meine benutzerdefinierten Netzwerke gelöscht, alle meine Container entfernt und dann docker/network/files/local-kv.db gelöscht und meinen Computer neu gestartet.

Es scheint, dass etwas in Docker intern in dieser Datei beschädigt wurde und bestehen blieb, und es gab keine Möglichkeit, es zu löschen oder zu beheben. Dies liegt wahrscheinlich daran, dass ich mit Version 1.11 begonnen habe, dann alle 1.12-Release-Kandidaten durchgesehen habe und jetzt mit 1.12 bin. Vielleicht hat es etwas auf dem Upgrade-Pfad gebrochen.

Jetzt scheint es gut zu funktionieren 😄
Ich habe die alte Datei local-kb.db gespeichert, wenn jemand aus dem Docker-Team sie sich ansehen möchte, wenn sie nützlich wäre. Zusammenfassend war das Problem, dass der Daemon die Ports 80 und 443 überwacht, auch wenn an diesen Ports keine Container überwacht wurden.

Ich habe das gleiche Problem. Alle Container, Netzwerk und local-kv.db + Neustart gelöscht ... jetzt funktioniert es wieder.

Dies geschieht auch mit Docker 1.12.0, Docker-Compose 1.8 und Swarm 1.2.4 unter Ubuntu. Konsul für kv. Endpunktverknüpfung im GW-Netzwerk fehlgeschlagen: Treiber konnte die externe Konnektivität auf dem Endpunkt-Gateway nicht programmieren. Der Container, in dem der Fehler auftritt, bleibt in einem erstellten Zustand, bis Sie ihn bereinigen.

Gleicher Fehler bei Debian:

# docker version
Client:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 05:02:53 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 05:02:53 2016
 OS/Arch:      linux/amd64
# docker-compose up -d
Starting elk_elk_1

ERROR: for elk  driver failed programming external connectivity on endpoint elk_elk_1 (8b8bb61b786bd1e07fa83c39a14338cab6c594cdfe74890c36e32ed9de33d8d9): Bind for 0.0.0.0:12201 failed: port is already allocated
# netstat -nl -p tcp  | grep 12201
udp6       0      0 :::12201                :::*                                14055/docker-proxy

gleicher Fehler auf Ubuntu 16.04LTS.

Docker-Version
Klient:
Version: 1.12.1
API-Version: 1.24
Go-Version: go1.6.3
Git Commit: 23cf638
Gebaut: Do Aug 18 05:33:38 2016
OS / Arch: Linux / AMD64

Server:
Version: 1.12.1
API-Version: 1.24
Go-Version: go1.6.3
Git Commit: 23cf638
Gebaut: Do Aug 18 05:33:38 2016
OS / Arch: Linux / AMD64

Docker-Compose-Version
Docker-Compose Version 1.7.1, Build 0a9ab35
Docker-Py-Version: 1.8.1
CPython-Version: 2.7.9
OpenSSL-Version: OpenSSL 1.0.1e 11. Februar 2013

Schritt 3: RUN rm /etc/nginx/conf.d/default.conf
---> Cache verwenden
---> 18fabfe71380
Schritt 4: ADD default.conf /etc/nginx/conf.d/
---> Cache verwenden
---> ad8c17a883c9
Ad8c17a883c9 erfolgreich erstellt
Uauth_fpm_1 erstellen
Uauth_redis_1 erstellen
Uauth_web_1 erstellen

FEHLER: Für Web-Treiber fehlgeschlagene Programmierung der externen Konnektivität auf dem Endpunkt uauth_web_1 (1a1e10881709d37b7b242f43dca561802ddf19d67f713cfd05eb2cdae3c4b0c0): Bindung für 0.0.0.0:443 fehlgeschlagen: Port ist bereits zugewiesen
Traceback (letzter Anruf zuletzt):
Datei "", Zeile 3, in
Datei "compose / cli / main.py", Zeile 63, in main
AttributeError: Das Objekt 'ProjectError' hat kein Attribut 'msg'.
Docker-Compose gab -1 zurück

Folgen Sie der Methode von madjam002, um dies zu lösen.

  1. Docker rm -f alle Container.
  2. Docker-Netzwerk rm Netzwerkschnittstellen.
  3. sudo rm /var/lib/docker/network/files/local-kv.db
    und neu starten, es hat funktioniert. danke Kumpels.

Ich kann die Datei /var/lib/docker/network/files/local-kv.db nicht finden. Wo finde ich die Souch-Datei? Ich verwende El Capitan 10.11.4 und Docker für Mac 1.12.

@ tsantos84 Docker wird in einer VM ausgeführt, wenn Sie Docker für Mac verwenden.

Versuchen Sie Folgendes (ich habe dies jedoch nicht getestet):

  • docker rm -f $(docker ps -aq) (entfernt alle Ihre Container)
  • docker network rm $(docker network ls -q) (entfernt alle Ihre Netzwerke)
  • docker run --rm -v /var/lib/docker/network/files:/network busybox rm /network/local-kv.db

Starten Sie dann Docker für Mac neu und Sie sollten bereit sein 👍

Sie können auch eine Verbindung zur xhyve-VM herstellen, indem Sie:

screen -AmdS Docker ~ / Library / Containers / com.docker.docker / Data / com.docker.driver.amd64-linux / tty
Bildschirm -S Docker -p 0 -X Zeug
Bildschirm -r Docker
rm -f /var/lib/docker/network/files/local-kv.db
Bildschirm -S Docker -X beenden

Bei @aanand habe ich immer noch das Problem Nr. 2, dh Nach dem Stoppen von Containern werden die von ihnen verwendeten Ports manchmal noch auf localhost zugeordnet.
Ich bin auf Ubuntu 14.04 und Docker Version: 1.12.0

Wenn Sie docker -compose nach dem Stoppen und Entfernen von Containern ausführen, wird der folgende Fehler für das offizielle postgresql-Image angezeigt:

 ERROR: for db  Cannot start service db: driver failed programming external connectivity on endpoint postgres (a0edc4146637dea0b4641f06f74a38be7977259142136faee2bd0f0e8f7d6a36): Bind for 0.0.0.0:5432 failed: port is already allocated
 ERROR: Encountered errors while bringing up the project.

Das zeigt netstat:

 sudo netstat -nlp | grep 5432

 tcp6       0      0 :::5432     :::*    LISTEN

@ mad-raz Fix für Mac hat bei Ubuntu nicht funktioniert. Hat jemand dies auf Ubuntu gelöst

@mankind Hast du eine meiner oben genannten Korrekturen ausprobiert?

@ madjam002 Ja, außer der letzten Zeile, das heißt, ich habe Docker nicht ausgeführt.

@mankind Es ist die letzte Zeile, die den Fix tatsächlich ausführt. Durch Ausführen des Befehls werden alle Ihre Netzwerke aus Docker entfernt. Dies ist eine destruktive Operation, aber nur so kann ich dieses Problem beheben. Es ist genau der gleiche Befehl wie der, den ich zuvor in diesem Thread gepostet habe. Der einzige Unterschied besteht darin, dass Sie ihn in einem Docker-Container anstatt auf dem Host ausführen.

Zur Verdeutlichung müssen Sie alle Ihre Container entfernen und den Befehl ausführen, mit dem alle Ihre Netzwerke entfernt werden. Sie behalten jedoch Ihre Docker-Images bei, wenn Sie sich darüber Sorgen machen.

@ madjam002 danke für die Klarstellung.

Ich habe den gleichen Fehler erhalten, den viele Leute in diesem Thread beschrieben haben. Mein Problem / meine Lösung war jedoch anders als das aller anderen.

Ich benutze Docker-Maschine auf meinem Mac. Ich habe mehrere Projekte, die Docker verwenden. Ich benutze einen Computer und verwende nur Docker-Compose pro Projekt, um meine Container auf diesem einen Computer zu starten. Das Problem, das ich fand, war, dass ich versuchte, meine Container für ein Projekt (Projekt b) zu starten, aber Container für ein anderes Projekt (Projekt a) aus irgendeinem Grund ausgeführt wurden (nicht sicher warum).

Insbesondere wurden Fehler angezeigt, die ich nicht an Port 80 und 3306 binden konnte, da beim Starten von Projekt b-Containern Projekt a bereits ausgeführt wurde und sich an diese Ports bindet.

Ich habe gerade docker ps -a , um zu überprüfen, ob andere Container ausgeführt wurden und bereits an diese Ports gebunden sind. Das Stoppen dieser Container löste das Problem für mich.

Das Hauptproblem, das ich hier sehe, ist, dass diese Container aus dem Projekt weiterhin gestartet werden, ohne dass ich sie tatsächlich starte.

Ich hoffe, dies hilft anderen bei diesem Problem.

Das gleiche Problem wurde behoben, indem eine andere App am selben Port gestoppt wurde. Überprüfen Sie, ob die App Ihren Port mit netstat -anp | grep PORT (ersetzen Sie PORT durch den von Ihnen verwendeten) oder verwenden Sie einen anderen Port. Das hat sich für mich behoben.
Ich hoffe das hilft jemandem.

@ragboyjr Vielleicht haben Sie das Projekt a Container mit docker-compose up -d gestartet und haben restart: always in Ihren Erstellungsdateien.

@ madjam002 Danke für diesen Fix! Das nervt mich seit ein paar Monaten auf Docker für Mac. Ich musste auf die Werkseinstellungen zurücksetzen, aber wenn ich dies in Verbindung mit dem Neustart von xhyve vm ausführe, werden diese Ports wieder freigegeben.

Die Verwendung von Docker für Mac, in meinem Fall das Entfernen aller Container und das Beenden des Docker-Prozesses, der die Ports belegt, reichte nicht aus, um das Problem zu beheben. Ich musste auch die mit diesen Ports verbundenen Netzwerke entfernen.

Docker-Container stoppen und entfernen:
docker stop $(docker ps -a -q); docker rm $(docker ps -a -q); docker volume rm $(docker volume ls -qf dangling=true)

Problematische Netzwerke entfernen:
docker network rm(docker network ls -q)

Finden Sie heraus, welcher Prozess den Hafen belegt
lsof -nP | grep LISTEN

Untersuchen Sie die Ausgabe des letzten Befehls und beenden Sie den Prozess, der den Port belegt (siehe @ mad-raz 'Beitrag dazu). Das Befolgen dieser Schritte hat das Problem für mich behoben.

@marcelmfs du bist absolut richtig! Vielen Dank dafür.

+1 das gleiche hier, Neustart von Docker für Mac behebt es

Docker für Windows hat mir gerade gesagt, dass ich aktualisieren soll, also habe ich es getan. Jetzt starten meine Container nicht mehr. Neuer Neustart, neuer Docker-Neustart, keine Container laufen. Datenbank wird nicht gestartet:

~Fehlerantwort des Dämons: Treiber konnte die externe Konnektivität auf der Endpunkt-Datenbank nicht programmieren (44309324c7301ee0bba984b7bfee01201939c809b98f3d10333258d09d243931): Fehler beim Starten des Userland-Proxys: Bindung für 0.0.0.0:3306 fehlgeschlagen: Port ist bereits zugewiesenFehler: Container konnte nicht gestartet werden: db~

D4W Version 1.13.0 (9795)

Aus, um zu untersuchen, wie die alte Version installiert wird.

Ich habe das gleiche Problem

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

ERROR: for influxdb  Cannot start service influxdb: driver failed programming external connectivity on endpoint influxdb1 (a5ebc95f32f72421ae46eb5bdc4e2fbf0c10f43da61188cb75d1322546111c1a): Bind for 0.0.0.0:8086 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.
# docker version
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



md5-a7d154bb42b823b1b35a4de5ba377ae0



# docker-compose version
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

Ein Neustart des Docker-Dienstes hilft nicht, ebenso wie ein Neustart des Host-Computers.

Ignoriere einfach den vorherigen Eintrag, da es meine Schuld war (Tippfehler)

Ich habe das gleiche Problem (openSUSE 42.2). Das Entfernen der Datei /var/lib/docker/network/files/local-kv.db hat das Problem behoben.

Das Löschen der /var/lib/docker/network/files/local-kv.db -Datei und das Neustarten von Docker haben dieses Problem auch für mich unter Ubuntu behoben

Egal, das Problem ist immer noch da

Für mich war es Nginx. Sobald ich es gestoppt hatte, arbeitete Docker wieder.

Unter OSX tritt ein ähnliches Problem mit einem UDP-Port auf. Das Entfernen von local-kv.db scheint keine Option zu sein, da der Port auch dann hängen bleibt, wenn die Docker-Engine / VM gestoppt wird, aber ein Neustart den gebundenen Port löscht. Scheint ein Problem auf der OSX-Seite zu sein.

$ netstat -na|grep "\.53" <- kein UDP-Port 53 gebunden

$ docker run -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dnsmasq -d andyshinn/dnsmasq:2.75

$ netstat -na|grep "\.53"
udp4 0 0 *.53 *.* <- ok, es ist jetzt gebunden

$ docker stop dnsmasq && sleep 2 && docker rm dnsmasq

$ netstat -na|grep "\.53"
udp4 0 0 *.53 *.* <- bleibt!

$ sudo lsof -i -n -P|grep ":53" <- keine Ausgabe!

$ netstat -tulnvp udp|grep 53
udp4 0 0 *.53 *.* 196724 9216 1307 0 <- ok wir haben eine pid

$ sudo ps aux|grep 1307 <- keine passende PID!

Ein alter "Zombie" -Prozess scheint am Port festzuhalten, aber ich kann nicht herausfinden, wie ich ihn freigeben kann.

OSX 10.11.6

$ Docker-Version
Klient:
Version: 17.03.0-ce
API-Version: 1.26
Go-Version: go1.7.5
Git Commit: 60ccb22
Gebaut: Do 23.02. 10:40:59 2017
OS / Arch: darwin / amd64

Server:
Version: 17.03.0-ce
API-Version: 1.26 (Mindestversion 1.12)
Go-Version: go1.7.5
Git Commit: 3a232c8
Gebaut: Di 28 Feb 07:52:04 2017
OS / Arch: Linux / AMD64
Experimentell: wahr

Kann nur bestätigen, dass mir dies auch auf mehreren Containern passiert.
OSX
➜ ~ Docker-Version
Klient:
Version: 17.03.1-ce-rc1
API-Version: 1.27
Go-Version: go1.7.5
Git Commit: 3476dbf
Gebaut: Fri Mar 17 00:27:41 2017
OS / Arch: darwin / amd64

Server:
Version: 17.03.1-ce-rc1
API-Version: 1.27 (Mindestversion 1.12)
Go-Version: go1.7.5
Git Commit: 3476dbf
Gebaut: Mi Mar 15 20:28:18 2017
OS / Arch: Linux / AMD64
Experimentell: wahr

Einige Male hat es sich selbst mit einem Docker-Compose-Build gelöst und ein anderes Mal durch Neustarten des Docker-Prozesses.

+1 auf Mac.
Ich habe versucht, alle Container zu löschen und Docker neu zu starten. Aber es passiert wieder ..

Ähnliches Problem unter Ubuntu 16.04.2 LTS, Docker Version 17.04.0-ce, Build 4845c56

$ docker run -p IP:80:3000 --link tribeca-mongo:mongo --name tribeca -d tribeca
29a0cac17720e203e4392b281460732dc5fe43c72e34bc7365760f8bba9dc348
docker: Error response from daemon: driver failed programming external connectivity on endpoint tribeca (54911841811bf7fb7b8b6b866eae2b790fe1b8b3bd18ccd0bb2089b565538c6c): Error starting userland proxy: listen tcp IP:80: bind: cannot assign requested address.

Ubuntu das gleiche Problem

Mac 10.12.3 das gleiche Problem

Windows 10, gleiches Problem

Mac 10.12.3 (16D32), gleiches Problem
FEHLER: Beim Aufrufen des Projekts sind Fehler aufgetreten.

Windows 10, gleiches Problem

Docker-Info
Behälter: 4
Laufen: 3
Angehalten: 0
Gestoppt: 1
Bilder: 7
Serverversion: 17.03.1-ce
Speichertreiber: overlay2
Sichern des Dateisystems: extfs
Unterstützt d_type: true
Native Overlay Diff: true
Protokollierungstreiber: JSON-Datei
Cgroup-Treiber: cgroupfs
Plugins:
Volumen: lokal
Netzwerk: Bridge Host IPvlan Macvlan Null Overlay
Schwarm: inaktiv
Laufzeit: runc
Standardlaufzeit: runc
Init Binary: Docker-Init
Containerd-Version: 4ab9917febca54791c5f071a9d1f404867857fcc
runc version: 54296cf40ad8143b62dbcaa1d90e520a2136ddfe
Init-Version: N / A (erwartet: 949e6facb77383876aeff8a6944dde66b3089574)
Sicherheitsoptionen:
seccomp
Profil: Standard
Kernel-Version: 4.9.13-moby
Betriebssystem: Alpine Linux v3.5
OSType: Linux
Architektur: x86_64
CPUs: 4
Gesamtspeicher: 6,538 GiB
Name: Moby
ID: HVV7: ECOB: GSCQ : UHGE: MUHA : GVD5: KS3W: YVJ5: DJ5E: AJIM: OHMR : 344T
Docker-Stammverzeichnis: / var / lib / docker
Debug-Modus (Client): false
Debug-Modus (Server): true
Dateideskriptoren: 36
Goroutinen: 39
Systemzeit: 2017-05-11T09: 41: 16.7020554Z
EventsListeners: 0
Registrierung: https://index.docker.io/v1/
Experimentell: wahr
Unsichere Register:
127.0.0.0/8
Registrierungsspiegel:
https://mhihpv4t.mirror.aliyuncs.com
Live-Wiederherstellung aktiviert: false

Führen Sie einfach aus: docker run -d -p 3142:3142 --name blaName Bla_imageID
ohne IP und führen Sie dann docker container ls um die IP-Adresse zu erhalten, und stellen Sie dann eine Verbindung her.

Bei mir funktioniert es! auf neue Version von Docker auf MAC

Für diejenigen, die eine bestimmte Adresse angeben möchten

Erstellen Sie Ihr Docker-Netzwerk:
docker network create --subnet=172.18.0.0/16 mynet123

Führen Sie dann einfach das Image aus (ich nehme Ubuntu als Beispiel).
docker run --net mynet123 --ip 172.18.0.22 -it ubuntu bash

Hatte das gleiche Problem unter Windows Docker + WSL und dieser Artikel half, es zu lösen:
https://www.mikeplate.com/2011/11/06/stop-http-sys-from-listening-on-port-80-in-windows/

Das hat endlich auf meinem Mac für mich funktioniert:
sudo /usr/sbin/apachectl stop
Sie können dann feststellen, dass httpd nicht vorhanden ist, indem Sie ps -ef | grep httpd

Gleiches Problem unter Windows 10. Behebung durch Neustart von Docker (Neustart des Computers funktionierte nicht).

Ich habe Docker neu gestartet und es hat funktioniert
sudo service docker stop
dann
sudo service docker start

Gleiches gilt für Ubuntu 16.04 über Docker-Compose.
# docker -v Docker version 17.03.1-ce, build c6d412e

Der Neustart des Docker-Daemons hat funktioniert, ist aber irgendwie traurig.

Dieses Problem hängt möglicherweise mit libnetwork zusammen. Ich habe eine PR gemacht (https://github.com/docker/libnetwork/pull/1794). Hoffe es kann hilfreich sein.

Mir ist das passiert. Die Portzuordnung wurde nicht angezeigt, als ich an einer Eingabeaufforderung von Elevated Powershell netstat -an , obwohl ich dies nicht innerhalb der VM versucht habe. Ich musste Docker für Windows neu starten, um das Problem zu beheben. Dadurch wird auch die zugrunde liegende VM neu erstellt.

Dies mag naheliegend sein, aber ich hatte diesen Fehler, aber ich habe Docker selbst neu gestartet und dann die Container gestartet, und der Fehler ist verschwunden.

Gleicher Fehler - gleiche Abhilfe - Docker auf Mac neu gestartet, dann Befehl erneut ausgeführt und es hat funktioniert.

Ich habe dieses Problem weiterhin auf unserem CI-System - "zufällige" Builds sind aufgrund dieses Fehlers fehlerhaft. Es hat vor ein paar Wochen gut funktioniert, dann erschien es zufällig. Das Neustarten von Docker scheint zu helfen, ist jedoch immer noch eine unzuverlässige Lösung für ein CI-System.
Leider habe ich keine Informationen zur Hand, als es anfing, ich vermute, als ich von "altem" Pre-Moby Docker-Paket auf docker-ce aktualisiert habe, aber es ist jetzt nur eine Vermutung

@ mad-raz Vielen Dank für die Lösung. Ich habe Stunden damit verbracht, es herauszufinden, und Ihre Antwort hat funktioniert

Manchmal kann Docker-Compose den gewünschten Container nicht starten und lässt den Port mit einem Prozess belegt, der überwacht wird. Versuchen Sie also, alle (empfangenden) Ports aufzulisten, die verwendet werden
lsof -nP + c 15 | grep HÖREN
Ausgänge
Dropbox 384 IPv4 0x82c TCP 127.0.0.1:17600 (HÖREN)
com.docker.slirp 6218 IPv4 0x82c TCP *: 5432 (HÖREN) << Python 6268 IPv4 0x82c TCP 127.0.0.1:51617 (HÖREN)
Beenden Sie dann die Prozess-ID com.docker.slirp, wenn dies das Problem verursacht
töte -9 6218

Ich habe das gleiche Problem auf Mac 10.12.5 (16F73):

Version 17.03.1-ce-mac12 (17661)
Channel: stable
d1db12684b

Aber kein Problem für das gleiche Docker-Image unter Linux:

Distributor ID: Ubuntu
Description:    Ubuntu 16.04.2 LTS
Release:    16.04
Codename:   xenial

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

gleicher Fehler

Docker Version 17.06.0-ce, Build 02c1d87

Problemumgehungen waren für mich, Container anzuhalten, zu entfernen und erneut auszuführen. Wenn dies fehlschlägt, stoppen Sie Docker und starten Sie es erneut. Versuchen Sie es erneut. Wenn dies fehlschlägt, starten Sie Docker-Images neu, erstellen Sie sie neu und führen Sie die Container erneut aus.

Ich musste nur Apache stoppen und Docker-Compose wieder ausführen.

Ein einfacher Neustart von Docker behebt dieses Problem für mich.

Ich hatte dieses Problem unter Windows 10 Pro und habe den IIS-Dienst beendet, dann funktioniert es!

Wenn der Fehler, den Sie erhalten, mit Redis zusammenhängt. Stellen Sie sicher, dass Sie Redis für Windows / Linux / etc nicht im Hintergrund und / oder beim Start ausführen

Das Herunterfahren von Docker über das Menü / das Neustarten über das Menü hat das Problem für mich nicht behoben, da Docker anscheinend nicht vollständig gestoppt wird.

Ich habe sudo pkill -fi docker und anschließend Docker wieder geöffnet und es wurde behoben.

Wieder ein Problem mit Docker-for-Mac (in der vorherigen Version 17.06.0-ce-mac18 (18433) nicht zu sehen):
docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 17.09.0-ce Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog Swarm: inactive Runtimes: runc Default Runtime: runc Init Binary: docker-init containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0 runc version: 3f2f8b84a77f73d38244dd690525642a72156c64 init version: 949e6fa Security Options: seccomp Profile: default Kernel Version: 4.9.49-moby Operating System: Alpine Linux v3.5 OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 7.787GiB Name: moby ID: DTSR:I2Q4:V6L7:XGCE:YFZJ:UASU:47JH:K3K3:ZALX:DJQL:YM5O:GC64 Docker Root Dir: /var/lib/docker Debug Mode (client): false Debug Mode (server): true File Descriptors: 20 Goroutines: 32 System Time: 2017-10-11T08:37:39.082141259Z EventsListeners: 1 No Proxy: *.local, 169.254/16 Registry: https://index.docker.io/v1/ Experimental: true Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false

Hatte das gleiche Problem, scheint, dass einige Container noch liefen und die Ports blockierten.

Führen Sie ein "Docker ps -a" aus, um zu überprüfen, ob Container ausgeführt werden
Führen Sie "docker kill $ (docker ps -q)" aus, um alle laufenden Container zu stoppen

Ich habe das gleiche Problem in der Mac-Version 17.09.0-ce-mac35 (19611).

Probieren Sie die Lösung von madjam002 aus. Wenn dies nicht funktioniert, exportieren Sie alle Ihre benutzerdefinierten Images oder stellen Sie sicher, dass sie mit Dockerfiles neu erstellt werden können. Führen Sie dann alle Ihre Images vollständig aus, deinstallieren Sie Docker, starten Sie Docker neu und installieren Sie Docker neu. Dies kann jedoch erneut vorkommen. Eine Problemumgehung besteht darin, Ihre Konfiguration auf einen anderen Port zu ändern. Wenn ich das tat, blieb der neue Port gelegentlich wieder hängen und ich musste die Konfiguration auf einen dritten Port ändern. Es ist nicht klar, warum dies einigen Menschen passiert und anderen nicht.

Auf dem MAC stoppen Sie den internen Apache

sudo apachectl stop

Ich habe dieses Problem ständig gehabt. Das Seltsame ist, dass ich ERR_SOCKET_NOT_CONNECTED im Browser bekomme, wenn ich versuche, auf den Dienst zuzugreifen. Dann stoppe ich den Container und versuche ihn erneut zu starten, wenn ich den Fehler erhalte, den Sie melden.

Durch einen Neustart der Docker-Engine wird das Problem behoben, das jedoch kurz darauf wieder auftritt.

Nach einigem Graben wurde mir klar, dass meine Container über die internen IP-Adressen, die Docker zuweist, miteinander kommunizieren können, aber nicht mit der Außenwelt (auch nicht mit Google und dergleichen).

Dies kann nach 10 Minuten oder nach 2 Stunden Gebrauch geschehen.

Ich bin auf MacOS High Sierra und dem neuesten Docker für Mac.

@rogoit , das das Problem für mich gelöst hat. Vielen Dank!

sudo launchctl unload /System/Library/LaunchDaemons/org.apache.httpd.plist funktioniert für mich auf dem Mac

Wenn ich diesen Fehler erhalte, habe ich erfolgreich das Verzeichnis / port auf dem Host besucht:

screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
cd /port/tcp:0.0.0.0:5000:tcp:172.18.0.16:3000  # or whatever file had the file exists error

In meinem Fall befand sich eine Datei in diesem Verzeichnis - ich glaube, sie hieß ctl oder ähnliches, und nachdem ich cat in dieser Datei ausgeführt hatte, um zu sehen, was darin enthalten war, verschwand das Problem - das Datei, und das Verzeichnis verschwand auch nach einem cd .. und ls .

Ich könnte dann docker-compose start [service] ausführen.

Version 17.09.0-ce-mac35 (19611)
Kanal: stabil
a98b7c1b7c

macOS 10.13.1 (17B1003)

Es scheint, dass es viele Varianten dieses Problems gibt. Hier ist meins:

Docker für Windows unter Windows 10.

Es scheint, dass das neueste Windows 10-Update (Fall Creators Update, 2017) eine neue "Funktion" hat. Beim Herunterfahren merkt es sich, was gerade ausgeführt wird, sodass es beim Neustart wieder für Sie gestartet werden kann.

Dies zerstört Docker für Windows (und löschte einige Stunden meiner Zeit, bevor ich die Verbindung herstellte). Beim Versuch, mein Docker-Compose neu zu starten, wurde der gefürchtete "Treiber konnte die externe Konnektivität auf dem Endpunkt nicht programmieren" angezeigt.

Es stellt sich heraus, dass in diesem Fall ein einfacher Neustart von Docker das Problem löst. Ich habe das nicht sofort gefunden, weil ich den Computer neu gestartet habe. Zu denken, dies würde auch Docker neu starten. Nein - Docker wurde in einem schlechten Zustand wiederhergestellt.

Es scheint keine Möglichkeit zu geben, diese neue Funktion von Win10 auszuschalten.
https://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_perf-insiderplat_pc/programs-autostart-after-boot-in-windows-10-fall/09dd8d3e-7b36-45d1-9181-6587dd5d53ab

Um "richtig" herunterzufahren, müssen wir dies stattdessen an der Eingabeaufforderung ausführen: shutdown / s / t 0 oder Docker neu starten, wenn ich dies vergesse.

@ biscuit314 Ihr Vorschlag, den Docker-Dienst neu zu starten, hat bei mir funktioniert. Ein

Mach es einfach;

sudo apachectl stop

Ich hatte es noch nie unter Windows, aber als ich zu Mac wechselte, hatte ich diesen Fehler. Der Neustart von Docker hat nichts geändert. Die Lösung bestand darin, den Port für Apache in Mac von Standard 80 auf einen anderen zu ändern (und Apache offensichtlich neu zu starten). Nach diesem Problem verschwand.

Ich bin mir bewusst, dass dieser Thread immer noch viel Diskussion hervorruft, aber ich werde ihn schließen, da er nichts mit Compose per se zu tun hat. Stellen Sie, wie in mehreren Kommentaren erwähnt, sicher, dass keine Hostanwendungen bereits den Port binden, den Ihr Dienst offenlegen möchte (Apache ist ein häufiger Täter).

Für alle, die noch von Google hierher kommen: Für meinen lokalen Entwicklungscomputer war es nur DHCP, das mir einen neuen Mietvertrag gab, und der Docker-Dienst hat ihn nicht übernommen und konnte die Netzwerkzuordnungen nicht mehr erstellen.

Leider hat keiner der Vorschläge für mich funktioniert. Docker für Mac Edge 18 etwas. Hohe Sierra.

Das einzige, was funktionierte, war zu warten, bis Docker nach dem Neustart des Systems gestartet und dann ausgeführt wurde
$ docker-compose up -d --force-recreate manuell. Super traurig.

Am Ende habe ich etwas auf Docker für Mac Stable 17 zurückgestuft und alles funktioniert wieder einwandfrei.

In Fedora 27 kann ich dieses Problem umgehen, indem ich meine Firewall deaktiviere und Docker neu starte.

systemctl stop firewalld
systemctl restart docker

Ich habe das Problem auf einem AWS Ubuntu 16-Server festgestellt. Einfach sudo service docker restart meine Probleme gelöst ...

Stieß auf das Problem unter Windows. Fehler bei jedem Dienst an jedem Port, Neustart von Docker behoben.

Ja, hatte auch dieses Problem mit Docker für Windows. Durch einen Neustart von Docker wurde das Problem behoben.

Auch heute und gestern mehrfach mit Docker für Windows angetroffen. Durch einen Neustart von Docker wurde das Problem nicht behoben 😅

Das einzige, was funktionierte, war zu warten, bis Docker nach dem Neustart des Systems gestartet und dann ausgeführt wurde
$ docker-compose up -d --force-recreate manuell. Super traurig.

Das hat auch bei mir funktioniert.

Kann ich irgendetwas tun (mehr Protokolle sammeln, Diagnose-ID senden), um dies zu untersuchen?

War gerade mit diesem Problem unter Linux konfrontiert. systemctl restart docker es für mich behoben.

Selbes Problem hier. BEHOBEN, WENN ich Docker neu gestartet habe und die Ports freigegeben wurden - sortiert

Ich verwende Windows 10.0.16299.125, Docker für Windows 17.12.0-ce (15139) und Linux-Container. Ich habe Skype deaktiviert und der Fehler, dass der Treiber die externe Konnektivität auf dem Endpunkt nicht programmiert hat, ist verschwunden. Hier ist meine docker-compose.yml:

version: '3'

services:
  identity.api:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
    ports:
      - "80"

Ich hatte völlig vergessen, dass beim Start ein Valet lief. Überprüfen Sie einfach alle Ports und stoppen Sie alles andere, bevor Sie Docker starten.

Ich habe einige iptables-Konfigurationen geändert. Und ist auf diesen Fehler gestoßen. Durch einen Neustart des Docker-Daemons wurde das Problem behoben ...

Starting 4b77a68f3777_deploy_nginx_1 ... 
Starting 6b96d171e3eb_deploy_database_1 ... 
deploy_fpm_1 is up-to-date
Starting 4b77a68f3777_deploy_nginx_1 ... error

ERROR: for 4b77a68f3777_deploy_nginx_1  Cannot start service nginx: b'driver failed programming external connectivity on endpoint 4b77a68f3777_deploy_nginx_1 (0efc2656fd512a2102e7ab82391048a6f5b9503819139096739d443a5b2553b0):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 443 -j DNAT --to-destination 172.18.0.Starting 6b96d171e3eb_deploy_database_1 ... error

ERROR: for 6b96d171e3eb_deploy_database_1  Cannot start service database: b'driver failed programming external connectivity on endpoint 6b96d171e3eb_deploy_database_1 (39fe9b0f86582e35df2c279dc2619f660008b6c3928e293744e005d5eca8245f):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5432 -j DNAT --to-destination 172.19.0.2:5432 ! -i br-53878ee15994: iptables: No chain/target/match by that name.\n (exit status 1))'

ERROR: for nginx  Cannot start service nginx: b'driver failed programming external connectivity on endpoint 4b77a68f3777_deploy_nginx_1 (0efc2656fd512a2102e7ab82391048a6f5b9503819139096739d443a5b2553b0):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 443 -j DNAT --to-destination 172.18.0.3:443 ! -i br-9c08ee804427: iptables: No chain/target/match by that name.\n (exit status 1))'

ERROR: for database  Cannot start service database: b'driver failed programming external connectivity on endpoint 6b96d171e3eb_deploy_database_1 (39fe9b0f86582e35df2c279dc2619f660008b6c3928e293744e005d5eca8245f):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5432 -j DNAT --to-destination 172.19.0.2:5432 ! -i br-53878ee15994: iptables: No chain/target/match by that name.\n (exit status 1))'

War gerade mit diesem Problem in der Vagrant Box konfrontiert. Das Problem mit der neu geladenen Vagrant Box wurde behoben.

gleiches Problem Windows 10

Das gleiche Problem unter Windows 10.
Fehlerantwort des Dämons: Treiber konnte die externe Konnektivität auf dem Endpunkt nicht programmieren
nach dem Versuch, einen Container neu zu starten.

@ gudge25 @magomedov Ich bin nicht sicher, ob dies verwandt ist, aber 18.03-rc3 wurde gerade veröffentlicht und enthält dieses Update. Es könnte sich lohnen, ein Update durchzuführen, um festzustellen, ob dieser Build die Probleme behebt, die hier auftreten.

Bearbeiten: Ich habe gerade mein Projekt ausprobiert, das nach einem Neustart unter diesem Problem litt. Nach 20 Minuten Test kann ich das Problem nicht mehr reproduzieren.

Meine Lösung war -> Docker auf die Werkseinstellungen zurücksetzen

Jedes Mal, wenn ich meinen Computer starte und meinen Container starte, wird dieser Fehler angezeigt.
Fehlerantwort von Daemon: Treiber Programmierung fehlgeschlagen externe Verbindungen auf dem Endpunkt ea-mysql (4bf1d5fc80663ac6ceabb68283b7a31860672826709d73aecaeaaa8f50be69ff): Fehler beim Starten Userland proxy: mkdir / port / tcp: 0.0.0.0 : 3306: tcp: 172.17.0.2 : 3306: Eingabe / Ausgabe - Fehler
Fehler: Container konnten nicht gestartet werden: b

Computer neu starten, erneut starten, es funktioniert.

PS C: Usersphucnv7> Docker-Informationen
Behälter: 1
Laufen: 0
Angehalten: 0
Gestoppt: 1
Bilder: 2
Serverversion: 18.03.0-ce
Speichertreiber: overlay2
Sichern des Dateisystems: extfs
Unterstützt d_type: true
Native Overlay Diff: true
Protokollierungstreiber: JSON-Datei
Cgroup-Treiber: cgroupfs
Plugins:
Volumen: lokal
Netzwerk: Bridge Host IPvlan Macvlan Null Overlay
Protokoll: awslogs fließend gcplogs gelf journald json-file logentries splunk syslog
Schwarm: inaktiv
Laufzeit: runc
Standardlaufzeit: runc
Init Binary: Docker-Init
Containerd-Version: cfd04396dc68220d1cecbe686a6cc3aa5ce3667c
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
Init-Version: 949e6fa
Sicherheitsoptionen:
seccomp
Profil: Standard
Kernel Version: 4.9.87-linuxkit-aufs
Betriebssystem: Docker für Windows
OSType: Linux
Architektur: x86_64
CPUs: 2
Gesamtspeicher: 1,934 GB
Name: linuxkit-00155d347405
ID: 7 SDD: BOPB : ZIQ4: XO2T: AMRA: BGMS : XKB7: EHGH: K73W : 2Y4D: SLCW: Z5DX
Docker-Stammverzeichnis: / var / lib / docker
Debug-Modus (Client): false
Debug-Modus (Server): true
Dateideskriptoren: 19
Goroutinen: 36
Systemzeit: 2018-03-28T01: 25: 45.5754181Z
EventsListeners: 1
Registrierung: https://index.docker.io/v1/
Etiketten:
Experimentell: wahr
Unsichere Register:
127.0.0.0/8
Live-Wiederherstellung aktiviert: false

Ich denke, ich habe das vielleicht herausgefunden, Leute, es ist wirklich dumm ... Ich bin auf einem Mac und habe zwei separate Benutzerkonten, auf denen Docker ausgeführt wird. Nachdem ich Docker auf dem anderen Konto beendet hatte, kam ich zurück und versuchte es mit dem Befehl lando start Es funktionierte wunderbar.

Wenn Sie MAC haben, versuchen Sie, den Server zu stoppen. Ich habe Apache.
sudo / usr / sbin / apachectl stop

So beheben Sie den folgenden Fehler in Windows Docker neu starten (über das Taskleistenmenü oder wählen Sie in den Einstellungen / Zurücksetzen die Option "Docker neu starten ...").

Cannot start service YOUR_SERVICE: driver failed programming external connectivity on endpoint

Ich kann keinen Container starten, nachdem Windows und Docker vollständig gestartet wurden. Kein Warten behebt das. Durch einen Neustart von Docker über das Docker for Win-Statusleistensymbol wird dieses Problem behoben.

In 100% der Fälle funktioniert Docker nach dem Booten / Neustarten nicht und ich muss den Docker-Daemon in 100% der Fälle neu starten.

EDIT: Ja, @IGZmanuelMartinVivaldi , das funktioniert, aber ich muss es bei jedem Neustart des Hosts tun. Ist dies ein Problem mit compose oder mit dem Docker-Daemon im Allgemeinen?

@IGZmanuelMartinVivaldi danke dies funktioniert

@NoICE scheint ein Problem zu sein, das mit dem Windows 10 Fall Creators-Update begonnen hat, aber ich weiß nicht, dass es im aktuellen Spring-Update oder in den neuen Dockers-Versionen behoben wird

@IGZmanuelMartinVivaldi Ich habe das gleiche Problem wie @NoICE. Ich muss Docker die ganze Zeit neu starten, nachdem Windows vollständig gestartet wurde. Es war im Herbst Creators Update und das aktuelle.

PS. Ich verwende Docker Compose. Jede Docker Compose-Datei verwendet Version 2.

Gleiches Problem hier @namerci. Docker muss manuell neu gestartet werden, nachdem Windows vollständig gestartet wurde.

Hier gilt das gleiche :(
Wenn Sie Docker für Windows neu starten oder manchmal Container stoppen, funktioniert docker system prune

Gleiches Problem hier

Ich versuche, das gleiche Problem in den letzten zwei Tagen zu lösen, aber bisher kein Erfolg. Dies geschieht unter Windows 7, Docker-Toolbox, AWS SAM CLI und Eclipse.

+1 gleiches Problem unter Windows 10

Ich hatte ein ähnliches Problem mit meinem Nginx-Server. Um das zu lösen, musste ich:

docker stop $(docker ps -qa)

Windows 10 hat so etwas wie einen schnellen Start. Wahrscheinlich ist dies ein Problem. Auf
Ein anderer PC ohne Schnellstart funktioniert gut.

wt., 22 maj 2018, 20:25 użytkownik rangeoshun [email protected]
napisał:

Ich hatte ein ähnliches Problem mit meinem Nginx-Server. Um das zu lösen, musste ich:

Docker Stop $ (Docker ps -qa)

- -
Sie erhalten dies, weil Sie erwähnt wurden.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/docker/compose/issues/3277#issuecomment-391092688 ,
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/ABGaX_NDPkbWf08T2wOkq1PjQz4v-ES3ks5t1FgPgaJpZM4IBfG_
.

EDIT: Ich bin blind. In meiner Konfiguration gab es einen Tippfehler in der Portnummer.

Gleiches Problem - Bindung für 0.0.0.0:18305 fehlgeschlagen: Port ist bereits zugewiesen.
Der Port ist jedoch nicht zugeordnet. Überprüft mit sudo lsof -i -P -n , und der Service kann problemlos angegeben werden, wenn Docker nicht verwendet wird.

Version: 18.03.1-ce-mac65 (24312)
Kanal: stabil
93354b38bd

Neustart hilft nicht.
Das Zurücksetzen auf die Werkseinstellungen hilft nicht.

Ich hatte auch das gleiche Problem.
Ich habe es behoben, indem ich den Docker neu gestartet habe.
Leute, ich sehe, dass die virtuelle Maschine irgendwann mit denselben Ports belegt sein kann, die Sie gerade ausführen.
Durch einen Neustart des Dockers können Sie dieses Problem beheben.

Wie bereits erwähnt . Dies ist kein Kompositionsproblem, sondern ein Docker-Problem. Daher ist dies geschlossen.
Hierfür ist im Docker-Repo ein Problem offen .

Ich könnte jeden Dienst an jeden Port anschließen. Aus irgendeinem Grund zeigte mir die Fehlermeldung eine IP-Adresse, die ich nicht erkannte. Ich habe Docker (Windows) neu gestartet und es hat von da an funktioniert.

Ich hatte das gleiche Problem unter Mac OS Sierra 10.12.6. Docker Version 18.03.1-ce.

Ich habe es gelöst, indem ich einen Vorschlag von
Soution :
lsof -nP +c 15 | grep LISTEN

com.docker.vpnk 35957   18u     IPv4        0t0       TCP *:7501 (LISTEN)
com.docker.vpnk 35957   19u     IPv6        0t0       TCP [::1]:7501 (LISTEN)

Suchen Sie den Prozess, der den blockierten Port abhört, und kill -9 <_process_id_ i = "14" /> . Für mich war es:
kill -9 35957

Starten Sie dann Docker neu und alles ist gut

Das Deaktivieren des Schnellstarts unter Windows 10 hilft

Das Neustarten von Docker funktioniert

Das Neustarten von Docker (über den Befehl "Neustart" oder manuelles Beenden und Neustarten) hat bei mir NICHT funktioniert.

Setzen Sie Docker auf die Werkseinstellungen zurück

Es hat mir geholfen.

Es hilft mir, indem es Docker zurücksetzt.

Neustart Docker funktioniert für mich. (Docker für Windows, Docker version 18.06.1-ce, build e68fc7a )

Um Ray-Eldaths Kommentar hinzuzufügen: Ich war verwirrt, weil ein zweimaliger Neustart meines Computers nicht funktioniert hat (gleiche Version: 18.06.1-ce für Windows), und ein Neustart Ihres Computers reicht sicherlich auch aus, um Docker neu zu starten, oder? Ich denke, ein Neustart hat das Problem nicht behoben, oder? Nun, nein, lol. Ich gehe tatsächlich zu Docker und klicke auf "Neustart" und jetzt funktioniert es.

EDIT: Oh, interessant, jetzt weiß ich, warum das passiert ist (wahrscheinlich). Ein Neustart meines Computers hat dieses Problem meiner Meinung nach tatsächlich verursacht. Überprüfen Sie dies heraus:

https://stackoverflow.com/questions/40668908/running-docker-for-windows-error-when-exposing-ports

Relevantes Zitat:

Das letzte Windows 10-Update (Fall Creators Update, 2017) verfügt über eine neue "Funktion". Es werden automatisch alle Anwendungen gestartet, die beim letzten Herunterfahren ausgeführt wurden.

Dadurch wird Docker für Windows in einem fehlerhaften Zustand wiederhergestellt. Das ließ den Anschein erwecken, dass diese Ports von etwas anderem genutzt wurden - es war der Geist von sich. Dies erklärte, warum diese Ports immer noch verwendet wurden, obwohl ich meine Container gestoppt / gestartet und sogar neu gestartet habe!

Angesichts dessen bin ich immer noch des Windows-Updates vom 18.06.1-ce verdächtig, da dies für mich kein Problem war, bis ich darauf aktualisiert habe.

Ich habe Windows 10 Pro sowohl auf einem Laptop als auch auf einem Desktop mit genau demselben Problem. Ich verwende derzeit die Version: 18.06.1-ce, aber mindestens die letzten beiden vorherigen Versionen hatten das gleiche Verhalten. Dies ist ein konsistentes und leicht reproduzierbares Problem, das bei einer sehr häufigen Konfiguration auftritt.

Tun wir alle etwas falsch oder muss dies behoben werden?

Sie können dies auch mit ACTIVITY MONITOR unter OSX überprüfen. Ich habe dieses Problem gesehen, als ein anderer Benutzer angemeldet ist und Docker verwendet. Beenden Sie die Prozesse oder melden Sie sich ab und es wird funktionieren.

Ich hatte dies auf Docker für Windows mit Nginx passiert. Ich habe Docker neu gestartet und sehe es jetzt nicht. Natürlich wird es wahrscheinlich da sein, wenn ich entferne und dann einen neuen Container für Nginx erstelle.

Ich hatte das gleiche Problem (Starten eines Nginx-Reverse-Proxys auf Port 80) unter Windows 10, möglicherweise verursacht durch eine frühere Installation der virtuellen Box.

Das Zurücksetzen des Dockers auf die Werkseinstellungen (Rechtsklick-Symbol im Benachrichtigungsbereich -> Einstellungen -> Zurücksetzen) hat das Problem für mich behoben.

Starten Sie die Docker-Arbeit für mich neu. unter Windows 10

thx @ballmdr , das funktioniert auch bei mir.

Ich bekam das gleiche Problem. Port 80 wurde von IIS verwendet.

1) Klicken Sie auf "Ausführen" und geben Sie "inetmgr" ein, um IIS zu öffnen
2) Bei Aktionen (oben rechts) - Klicken Sie auf "Stopp".
3) Führen Sie Docker erneut aus

Ich habe das gleiche Problem auf MAC moJave bekommen, nachdem ich Docker-Compose aktualisiert habe. Durch einfaches Neustarten von Docker werden die Probleme für mich

Gleich hier habe ich macOS Mojave und starte behobene Probleme neu.

@makproductions danke.

Ich bekomme dieses Problem ziemlich regelmäßig (unter Windows) und ein Neustart von Docker löst das Problem.

Ubuntu 18.04, Neustart von Docker lösen das Problem

Das Problem besteht unter Windows weiterhin in 18.06.1-ce-win73 (19507) Plase. Öffnen Sie dies erneut.

In der Regel geschieht dies, da postgresql ausgeführt wird und Port 5432 verwendet wird. Versuchen Sie, den Dienst zu stoppen und docker-compose up --build auszuführen, damit die Initialisierung durchgeführt wird.

sudo service postgresql stop
Docker-Compose-Up - Build

sollte arbeiten

madjam002

1.docker rm -f alle Container.
2.docker network rm Netzwerkschnittstellen.
3.sudo rm /var/lib/docker/network/files/local-kv.db

Ich habe es jetzt versucht. Ich habe ein anderes Problem als docker: Error response from daemon: failed to update store for object type *libnetwork.endpointCnt: Key not found in store. . Wie Sie dieses Problem lösen können, können Sie mir vorschlagen ... Danke.

Ich bin mir bewusst, dass dieser Thread immer noch viel Diskussion hervorruft, aber ich werde ihn schließen, da er nichts mit Compose per se zu tun hat.

Dies ist ein Docker-Problem - kein Docker-Compose-Problem. Dieses Problem ist geschlossen und wird daher nicht an Bedeutung gewinnen. Im Haupt-Docker-Repo sind bereits mehrere Probleme offen. Kommentare sollten wahrscheinlich dorthin gehen:

Siehe https://github.com/docker/for-win/issues/2722
und https://github.com/docker/for-win/issues/1967

@ shin- Sollte dies gesperrt sein?

In der folgenden Situation wird der gleiche Fehler angezeigt:
Docker 18.06.1, Docker Compose 1.22.0, Ubuntu 18.04

Starten von d1df6864f98d2599_api_1 für d1df6864f98d2599_api_1 Dienst-API kann nicht gestartet werden: Treiber konnte die externe Konnektivität auf Endpunkt d1df6864f98d2599_api_1 nicht programmieren (6b3f4a9c68d6858ace2b39a0296ed41620ff3007b39c14c

Wenn ich die Container mit Docker-Compose über die Befehlszeile starte, heißt der Container src_api_1 , da ich den Befehl in einem Ordner src ausführe.

Wenn ich Docker-Compose von TeamCity aus starte, heißt der Container d1df6864f98d2599_api_1 und ich erhalte diesen Fehler.

Der Befehl lautet docker-compose -f src/docker-compose-production.yml up -d api .

Ich habe gerade meine Portnummer in der .yaml-Datei geändert und es hat bei mir funktioniert.

In meinem Fall lag es daran, dass das Windows-Anmeldekennwort aktualisiert wurde und anscheinend das neue Kennwort nicht auf Docker aktualisiert wurde. Ich musste zu Docker für Windows -> Einstellungen -> freigegebenes Laufwerk gehen, freigegebene Laufwerke deaktivieren, auf Übernehmen klicken und dann erneut prüfen und anwenden. Anschließend wird nach dem Kennwort gefragt. Nachdem ich das Passwort eingegeben habe, funktioniert es wieder.

Dies plagt weiterhin mein Setup. Durch einen Neustart von Docker wird der Port unter OSX nicht freigegeben. Durch einen Neustart des Hostcomputers wird der Port freigegeben.

Ich habe die gleiche Fehlermeldung erhalten, aber mein Problem wurde dadurch verursacht, dass ich gleichzeitig an zwei verschiedenen Seiten gearbeitet habe.

Beim Wechsel von einem zum anderen habe ich vergessen, Docker-Compose Down zu verwenden,

Ich hatte auch das gleiche Problem, aber nach langer Zeit traf ich mich mit der perfekten Lösung

  1. Geben Sie Docker Container ls -a ein (überprüfen Sie den Container, der diese Portnummer verwendet).
  2. Docker Container rm -f(Freigeben Sie den Port, indem Sie diesen Container entfernen.)
  3. Assing Ihren neuen Container mit Ihrer Portnummer

@ ronakganatra9 Hey, ich habe eine Frage, wo könnten Sie Ihren eigenen Port in der .yaml-Datei finden?

`` `PS C: UsersMouazDesktopfernandroidstf-poc> docker-compose up
stf-poc_storage-temp_1_20d132e37939 ist aktuell
stf-poc_dev-triproxy_1_7224046ecd68 ist aktuell
stf-poc_auth_1_f76f43d5e179 ist aktuell
stf-poc_rethinkdb_1_6e5e0628f86c ist aktuell
stf-poc_triproxy_1_7d61645de13d ist aktuell
stf-poc_adb_1_53f170a2d9ae ist aktuell
stf-poc_storage-plugin-apk_1_efbbfa2dc680 ist aktuell
stf-poc_storage-plugin-image_1_ebc249ed0769 ist auf dem neuesten Stand. Stf-poc_migrate_1_ebc2c2157fdf wird gestartet ...

Stf-poc_migrate_1_ebc2c2157fdf starten ... fertig

stf-poc_api_1_713c609d74d5 ist aktuell
stf-poc_reaper_1_cca8849d63b8 ist aktuell
stf-poc_websocket_1_a41866f85947 ist aktuell
stf-poc_app_1_db0fc2088323 ist aktuell
Starten von e3e9585e6a3a_stf-poc_provider_1_6961669e5bb1 ... Fehler

ERROR: für e3e9585e6a3a_stf-poc_provider_1_6961669e5bb1 nicht Service - e3e9585e6a3a_stf-poc_provider_1_6961669e5bb1 externe Verbindungen Programmierung fehlgeschlagen (6033aa098528aac29e541b1d52303e4106c0f7a760222995b4c0b348a7d76941): Fehler beim Starten der Userland: Binden für 0.0.0.0:7680: unerwarteter Fehler Zugriff verweigert‘

FEHLER: für Provider Dienstprovider kann nicht gestartet werden: b'driver konnte die externe Konnektivität auf dem Endpunkt e3e9585e6a3a_stf-poc_provider_1_6961669e5bb1 nicht programmieren
FEHLER: Beim Aufrufen des Projekts sind Fehler aufgetreten.
PS C: UsersMouazDesktopfernandroidstf-poc> Docker-Container ls
BEHÄLTER-ID BILDBEFEHL ERSTELLTE STATUS-PORTS-NAMEN
d46b94a05e8b stf-poc_nginx "/entrypoint.sh" vor 2 Minuten Neustart (1) vor 38 Sekunden stf-poc_nginx_1_4c61f58776f1
6674d0116aa9 openstf / stf: aktuelles "stf storage-plugin- ..." vor 2 Stunden Up Ungefähr eine Minute 3000 / tcp stf-poc_storage-plugin-image_1_ebc249ed0769
df2e7c721d55 openstf / stf: aktuelles "stf storage-plugin- ..." vor 2 Stunden Up Ungefähr eine Minute 3000 / tcp stf-poc_storage-plugin-apk_1_efbbfa2dc680
a697ef5e309b openstf / stf: neueste "stf app --auth-url ..." vor 2 Stunden Up Ungefähr eine Minute 3000 / tcp stf-poc_app_1_db0fc2088323
fefaebe9340a openstf / stf: neueste "stf websocket --por ..." vor 2 Stunden Up Ungefähr eine Minute 3000 / tcp stf-poc_websocket_1_a41866f85947
8a1fd41fa92d stf-poc_storage-temp "stf storage-temp -…" vor 2 Stunden Up Ungefähr eine Minute 3000 / tcp stf-poc_storage-temp_1_20d132e37939
c7f48e1b4d74 openstf / stf: neueste "stf reaper dev --co ..." vor 4 Stunden Up Ungefähr eine Minute 3000 / tcp stf-poc_reaper_1_cca8849d63b8
293d4cf18ddb openstf / stf: neueste "stf api --port 3000 ..." vor 4 Stunden Up Ungefähr eine Minute 3000 / tcp stf-poc_api_1_713c609d74d5
257667df032e openstf / stf: letzter "stf processor --con ..." vor 4 Stunden Up Ungefähr eine Minute 3000 / tcp stf-poc_processor_1_9c46a2ef3b9d
e065f41e2f61 rethinkdb: 2.3 "rethinkdb --bind all" vor 4 Stunden Up Ungefähr eine Minute 8080 / tcp, 28015 / tcp, 29015 / tcp stf-poc_rethinkdb_1_6e5e0628f86c
522eb78fc46a sorccu / adb: neueste "/ sbin / tini - adb - ..." vor 4 Stunden Up Ungefähr eine Minute 5037 / tcp stf-poc_adb_1_53f170a2d9ae
44e03f74b098 openstf / stf: neueste "stf triproxy app -…" vor 4 Stunden Up Ungefähr eine Minute 3000 / tcp stf-poc_triproxy_1_7d61645de13d
32f4f65a0d4e openstf / stf: neueste "stf triproxy dev -…" vor 4 Stunden Up Ungefähr eine Minute 3000 / tcp stf-poc_dev-triproxy_1_7224046ecd68
7465e46fd2a0 openstf / stf: neueste "stf auth-mock --app ..." vor 4 Stunden Up Ungefähr eine Minute 3000 / tcp `stf-poc_auth_1_f76f43d5e179
`` `

Dies ist, was mit mir passiert, und ich habe versucht, neu zu starten und zu deinstallieren und neu zu installieren, Bargeld zu löschen und auf die Werkseinstellungen zurückzusetzen. Es zeigt immer noch diese Art von FEHLER. Glaubst du, ich muss den ADB-Port von 5037 auf 3000 / tcp ändern?

wenn ja wie kann ich das machen
VIELEN DANK !!

Starten Sie Docker einfach neu. Es hat bei mir funktioniert.

Starten Sie Docker einfach neu. Es hat bei mir funktioniert.

Das hat auch bei mir funktioniert! Aus irgendeinem Grund funktionierte es nicht, nachdem ich den PC neu gestartet hatte, sondern nachdem ich in der Symbolleiste auf "Docker neu starten" geklickt hatte.

Starten Sie Docker einfach neu. Es hat bei mir funktioniert.

Das hat auch bei mir funktioniert.

Ja, ein Neustart funktioniert, aber es ist immer noch sehr ärgerlich. Ich muss das jedes Mal tun, wenn ich Docker starten möchte ...

Neustart-Docker kann alles auflösen, da Neustart-Docker den gesamten laufenden Container bereinigen würde.

Ich überprüfe meine Docker-Datei compose.yml erneut und lösche den Container, der sich in der Datei docker-compose.yml befindet, und muss den Docker nicht neu starten.

genießen.

Führen Sie den folgenden Befehl aus und rufen Sie die Container-ID ab, die den Port verwendet, den Sie beenden möchten. Verwenden Sie die Container-ID und entfernen Sie sie mit dem zweiten Befehl.

docker ps -a
docker rm container_id

Hallo, ich verwende Docker (Version 18.09.0) und erhalte beim Starten von Sandbox-Proxy den folgenden Fehler. Bitte helfen Sie.

C: Program FilesDockerDockerResourcesbindocker.exe: Fehlerantwort vom Dämon: Treiber beim Programmieren der externen Konnektivität auf dem Endpunkt-Sandbox-Proxy fehlgeschlagen (fcc9a4c77b0de66ef7e8c8893b6eafb49f8071e7b9c3b1ce1def3a5e1434358d): Fehler:

Haben versucht, Docker / System neu zu installieren / neu zu starten, Container zu entfernen usw.
Nichts hat geholfen.

Hallo, ich verwende Docker (Version 18.09.0) und erhalte beim Starten von Sandbox-Proxy den folgenden Fehler. Bitte helfen Sie.

C: Program FilesDockerDockerResourcesbindocker.exe: Fehlerantwort vom Dämon: Treiber beim Programmieren der externen Konnektivität auf dem Endpunkt-Sandbox-Proxy fehlgeschlagen (fcc9a4c77b0de66ef7e8c8893b6eafb49f8071e7b9c3b1ce1def3a5e1434358d): Fehler:

Haben versucht, Docker / System neu zu installieren / neu zu starten, Container zu entfernen usw.
Nichts hat geholfen.

Stoppen Sie Docker und starten Sie es im Administratormodus erneut. Nach dem Start öffnen Sie die Power Shell auch im Administratormodus.
Da der Fehler "Berechtigung verweigert" lautet, wird Ihr Problem möglicherweise dadurch gelöst. Ich bin mir nicht sicher.

Durch den Neustart des Docker-Dienstes konnte ich dieses Problem beheben.

Version 18.09.0

Hallo, ich verwende Docker (Version 18.09.0) und erhalte beim Starten von Sandbox-Proxy den folgenden Fehler. Bitte helfen Sie.
C: Program FilesDockerDockerResourcesbindocker.exe: Fehlerantwort vom Dämon: Treiber beim Programmieren der externen Konnektivität auf dem Endpunkt-Sandbox-Proxy fehlgeschlagen (fcc9a4c77b0de66ef7e8c8893b6eafb49f8071e7b9c3b1ce1def3a5e1434358d): Fehler:
Haben versucht, Docker / System neu zu installieren / neu zu starten, Container zu entfernen usw.
Nichts hat geholfen.

Stoppen Sie Docker und starten Sie es im Administratormodus erneut. Nach dem Start öffnen Sie die Power Shell auch im Administratormodus.
Da der Fehler "Berechtigung verweigert" lautet, wird Ihr Problem möglicherweise dadurch gelöst. Ich bin mir nicht sicher.

Dies löst das Problem nicht. Ich habe das Terminal und das Docker selbst im Administratormodus gestartet und es wird immer noch genau der gleiche Fehler ausgegeben.

Hatte heute das gleiche Problem. Ich habe docker-compose down und den Docker-Dienst neu gestartet, der den Trick zu tun schien.

ERROR: for web_1  Cannot start service web: driver failed programming external connectivity on
endpoint web_1 (5694e5627dbac6cd543d65c764d4b9877fc67557b10f6f8a1f1e7170ffdc8314): 
Error starting userland proxy: mkdir /port/tcp:0.0.0.0:8080:tcp:172.19.0.2:8080: input/output error

ERROR: for web  Cannot start service web: driver failed programming external connectivity on 
endpoint web_1 (5694e5627dbac6cd543d65c764d4b9877fc67557b10f6f8a1f1e7170ffdc8314): 
Error starting userland proxy: mkdir /port/tcp:0.0.0.0:8080:tcp:172.19.0.2:8080: input/output error
Encountered errors while bringing up the project.

Starten Sie mein Docker in Windows 10 neu, und dann funktioniert es. ^^

Stieß auf das gleiche Problem. Das Neustarten von Docker für Windows hilft.

Wenn Sie Windows verwenden, führen Sie netstat -ab und überprüfen Sie, was Port TCP 0.0.0.0:443 . Für mich hat VMware es verwendet, obwohl ich es beendet hatte

Docker neu starten ist nicht die beste Lösung. (Es ist auch das erste, was ich getan habe)

Ich habe das gleiche Problem und es kann durch einen Neustart von Docker behoben werden.

Einfach neu gestartet und es hat wieder funktioniert

Ich habe das gleiche Problem mit 18.09.1 ​​unter Linux. Kann dieses Problem erneut geöffnet werden? Andernfalls sollte ein Problem für eine bessere Fehlermeldung geöffnet werden, die darauf hinweist, dass es sich tatsächlich nicht um einen Docker-Fehler handelt, wie es scheint.

Wenn Sie weiterhin erwarten, dass Benutzer die Software irgendwann neu starten, werden sie nur Docker herausreißen. Es ist nicht so, dass es keine anderen Containersysteme gibt.

Das Neustarten von Docker funktioniert bei mir nur beim ersten Mal. Wenn ich danach den Befehl docker run drücke, erhalte ich den gleichen Fehler. Es ist nicht dauerhaft behoben.

Was ich versuche zu erreichen:

Ich versuche nur, eine LEMP-Umgebung (nginx, php-fpm, MySQL) auf meinem Centos 7-Computer einzurichten.

Befehle:

Docker neu gestartet

service docker restart

Erstellen Sie ein Brückennetzwerk

docker network create -d bridge LEMP

Führen Sie den php-fpm-Container aus

docker run --name php-fpm -v /home/ashish/work/docker/php:/app -p "9000:9000" --network LEMP --rm -d php:7-fpm

Beim ersten Ausführungsbefehl danach funktioniert es mit folgender Ausgabe:

b003815c0ee2fba05aa24b0965871b55ce717fcd56557066acd448519b59498b

iptables -L

`` `Chain INPUT (Policy DROP)
Ziel prot opt ​​Quelle Ziel
AKZEPTIEREN Sie alles - überall und überall
AKZEPTIEREN Sie alles - überall und überall. VERBINDUNG, FESTGELEGT
AKZEPTIEREN Sie alles - überall und überall NEU
AKZEPTIEREN Sie alle - überall und überall NEU
ACCEPT icmp - überall und überall neu
ACCEPT icmp - überall und überall neu
ACCEPT icmp - überall und überall neu
ACCEPT icmp - überall und überall neu
ACCEPT tcp - überall überall tcp spts: 1024 : 65535 dpt: 28082 state NEW

Chain FORWARD (Richtlinie DROP)
Ziel prot opt ​​Quelle Ziel

Kettenausgang (Policy DROP)
Ziel prot opt ​​Quelle Ziel
AKZEPTIEREN Sie alles - überall und überall
AKZEPTIEREN Sie alles - überall und überall. VERBINDUNG, FESTGELEGT
ACCEPT tcp - überall 192.168.40.17 tcp dpt: objcall
AKZEPTIEREN Sie alles - überall und überall NEU
AKZEPTIEREN Sie alles - überall und überall NEU
AKZEPTIEREN Sie alle - überall und überall NEU
ACCEPT tcp - überall überall tcp spts: 1024 : 65535 dpt: 28082 state NEW

### If you notice, It has removed my DOCKER chain. Now when i am trying to run my nginx container, It gives me same error:

Docker-Lauf --name nginx -v /home/ashish/work/docker/nginx/conf/local.conf:/etc/nginx/conf.d/default.conf -v / home / ashish / work / docker / php: / app -p 80:80 --rm -itd --network LEMP nginx


2dab94327ebbfb1849960df440cd8a1ba15b6253471b77838a5dce139b5cccdc

Docker: Fehlerantwort des Daemons: Treiber hat die Programmierung der externen Konnektivität auf dem Endpunkt nginx fehlgeschlagen (df5852f12bb611dcf0057418e50b3f679efcbd81c91af6679c8e44b8a59fe4bf): (iptables fehlgeschlagen: iptables --wait -t filter -A DOCKER! .0.3 --dport 80 -j ACCEPT: iptables: Keine Kette / Ziel / Übereinstimmung mit diesem Namen (Exit-Status 1)).
`` `

Problemumgehung, die für mich funktioniert:

Docker-Version:

docker -v

Docker version 18.09.0, build 4d60db4

Alte Maschinenkernversion:

uname -r

3.10.0-957.1.3.el7.x86_64

Eine andere Maschine mit einer anderen Kernel-Version genommen:

uname -r

3.10.0-862.2.3.el7.x86_64

o / p

Es funktionierte. Wie oben ist kein Fehler aufgetreten. Alles läuft reibungslos.

Ich habe meinen Kernel der alten Maschine geändert und es hat bei mir funktioniert. Obwohl dies nicht gut ist, um Ihren Kernel besonders in der Produktion zu ändern.

Für Windows-Benutzer: Deaktivieren Sie "Schnellstart" in Ihren Energieeinstellungen und es funktioniert!
https://stackoverflow.com/a/47818614

Das letzte Windows 10-Update (Fall Creators Update, 2017) verfügt über eine neue "Funktion". Es werden automatisch alle Anwendungen gestartet, die beim letzten Herunterfahren ausgeführt wurden.
Dadurch wird Docker für Windows in einem fehlerhaften Zustand wiederhergestellt. Das ließ den Anschein erwecken, dass diese Ports von etwas anderem genutzt wurden - es war der Geist von sich. Dies erklärte, warum diese Ports immer noch verwendet wurden, obwohl ich meine Container gestoppt / gestartet und sogar neu gestartet habe!

Neustart-Docker kann alles auflösen, da Neustart-Docker den gesamten laufenden Container bereinigen würde.

Ich überprüfe meine Docker-Datei compose.yml erneut und lösche den Container, der sich in der Datei docker-compose.yml befindet, und muss den Docker nicht neu starten.

genießen.

Das hat bei mir funktioniert Thnks! :) :)

Gleiches Problem hier - in meinem Fall war Apache, der auf Port 80 ausgeführt wurde, das Problem.

Andere oben hatten netstat erwähnt, und das ist ein ausgezeichnetes Werkzeug. Eine Instanz von Nginx wurde auf Port 80 ausgeführt. Ich habe netstat -ano | verwendet findstr: 80 (cmd) oder bash >> netstat -ano | grep: 80, dann die PID getötet

https://stackoverflow.com/a/20724040/7954264

Ich habe es gelöst, indem ich Windows Build von 1803 auf 1809 aktualisiert habe

Stoppen Sie Ihren Docker-Daemon und starten Sie als Administrator.

docker rm $(docker ps -a -q) hat bei mir funktioniert.

Es tut mir leid, dieser Typ zu sein, aber auf meinem Computer war ein

Ich hatte die gleiche Fehlermeldung und habe Docker unter Windows neu gestartet . Es hat den Trick gemacht.

Aktualisieren Sie zunächst Windows 10 auf 1809.
Deaktivieren Sie dann in der Docker-Einstellung "Docker-Desktop starten, wenn Sie sich anmelden".
Starten Sie den Docker schließlich manuell (Sie müssen ihn nicht neu starten).
Das Problem ist behoben und es funktioniert gut in meinem Computer.

Für mich hat ein manueller Neustart von Docker funktioniert

Das gleiche Problem für mich unter Mac OS Mojave, als ich versuchte, Mailu mit Docker-Compose aufzurufen:

$ docker-compose -p mailu up -d
Creating network "mailu_default" with driver "bridge"
Creating mailu_fetchmail_1 ... 
Creating mailu_redis_1     ... 
Creating mailu_front_1     ... error
Creating mailu_fetchmail_1 ... done
Creating mailu_redis_1     ... done
ERROR: for mailu_front_1  Cannot start service front: driver failed programming external connectivity on endpoint mailu_front_1 (f7085e55644392e76cCreating mailu_antivirus_1 ... done
Creating mailu_admin_1     ... done

ERROR: for front  Cannot start service front: driver failed programming external connectivity on endpoint mailu_front_1 (f7085e55644392e76c6ae5cd6f3be159c58195e0fc85ae8610f2d84d42dbecab): Error starting userland proxy: port is not a proto:IP:port or unix:path: 'tcp:[:'
ERROR: Encountered errors while bringing up the project.
$

und die folgende:

  • Docker Desktop: 2.0.0.3
  • Motor: 18.09.2
  • Maschine: 0.16.1
  • Notar: 0.6.1
  • Anmeldeinformations-Helfer: 0.6.0
  • Kubernetes: v1.10.11

Ich habe gerade meinen Mac neu gestartet und bin danach gelaufen

$ docker rm $ (Docker ps -a -q)

wie jemand empfohlen.

Hier ist die relevante Zeilengruppe aus docker-compose.yml für den "Front" -Dienst:

  front:
    image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-1.6}
    restart: always
    env_file: mailu.env
    logging:
      driver: json-file
    ports:
      - "127.0.0.1:80:80"
      - "::1:80:80"
      - "127.0.0.1:443:443"
      - "::1:443:443"
      - "127.0.0.1:25:25"
      - "::1:25:25"
      - "127.0.0.1:465:465"
      - "::1:465:465"
      - "127.0.0.1:587:587"
      - "::1:587:587"
      - "127.0.0.1:110:110"
      - "::1:110:110"
      - "127.0.0.1:995:995"
      - "::1:995:995"
      - "127.0.0.1:143:143"
      - "::1:143:143"
      - "127.0.0.1:993:993"
      - "::1:993:993"
    volumes:
      - "/Users/rmfuhrer/mailu/certs:/certs"
      - "/Users/rmfuhrer/mailu/overrides/nginx:/overrides"

AFAICT, ich habe an keinem der in der Docker-Compose-Konfiguration genannten Ports etwas abgehört:

$ netstat -a -f inet -p tcp -n | grep LISTEN
tcp4       0      0  *.17500                *.*                    LISTEN     
tcp4       0      0  127.0.0.1.17603        *.*                    LISTEN     
tcp4       0      0  127.0.0.1.17600        *.*                    LISTEN     
tcp4       0      0  *.49178                *.*                    LISTEN     
tcp4       0      0  127.0.0.1.6670         *.*                    LISTEN     
tcp4       0      0  127.0.0.1.8888         *.*                    LISTEN     
tcp4       0      0  *.88                   *.*                    LISTEN     
tcp4       0      0  *.445                  *.*                    LISTEN     
tcp4       0      0  *.22                   *.*                    LISTEN     
$

Für mich hat ein manueller Neustart von Docker funktioniert

Das kann ich auch bestätigen.

Unter Windows 10 tritt das gleiche Problem auf. Ein Neustart scheint das Problem zu lösen, wir müssen es jedoch einige Male in einer Woche neu starten. Gibt es eine Lösung dafür?

Ich muss Docker jeden Tag neu starten. Ich würde es wirklich lieben, dies zu beheben!

Ich habe immer noch das gleiche Problem. Dies passiert, wenn Sie den Schnellstart (standardmäßig aktiviert) in Windows 10 aktiviert haben. Sie können ihn deaktivieren -> https://www.windowscentral.com/how-disable-windows-10-fast-startup und benötigen ihn dann nicht Docker jeden Tag neu starten. Aber es ist nur eine Umgehung ..

Hatte das gleiche Problem,
Starten Sie Docker einfach neu und beheben Sie es für mich

Für mich lag es daran, dass andere Container über diesen Port ausgeführt wurden. Ich habe gerade die Portzuordnung in docker-compose.yml geändert, z. B. für den Containerservice memcache :

Von:

  memcache:
    container_name: project_memcache
    image: memcached:latest
    ports:
        - "11211:11211"

An (externer Port weiter bei 11212):

  memcache:
    container_name: project_memcache
    image: memcached:latest
    ports:
        - "11212:11211"

Docker neu starten funktioniert bei mir

@yedincisenol ja, aber jeden Tag neu starten zu müssen ist ein bisschen nervig

Ich habe das gleiche Problem und ja, ein Neustart hat mein Problem gelöst. Ich hoffe, sie beheben das.

Starten Sie Docker neu ... genau das

Docker unter Windows neu starten funktioniert auch bei mir: /

Wenn Sie auf einem Mac arbeiten und Ihr Docker-Webserver nicht gestartet werden kann, handelt es sich möglicherweise um die Dateifreigabe. Apple verwendet dafür den integrierten Apache. Entweder...
~sudo apachectl stop~
oder noch besser, deaktivieren Sie die Dateifreigabe.

Ich habe das gleiche Problem, das mit IIS zusammenhängt, also habe ich das gestoppt.

Wie @AarashFarahani sagte. Ich habe IIS gestoppt, das ich für dieses Projekt nicht benötigte, und der Fehler ist verschwunden.

Für Mac-Benutzer: Versuchen Sie, die httpd- und Apache-Dienste zu speichern.

docker rm $(docker ps -a -q) hat bei mir funktioniert.

Hat bei mir nicht funktioniert (Windows 10, Docker Version 18.09.2)

➜ sudo netstat -nlp | grep 443
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 501/vmware-hostd tcp6 0 0 :::443 :::* LISTEN 501/vmware-hostd

Problem gelöst

Starten Sie Docker einfach neu und stellen Sie es erneut bereit -> funktioniert für mich

Habe das gleiche Problem.

Meine Problemumgehung (da dies die einzige Lösung zu sein scheint) bestand darin, "Docker Desktop beim Anmelden starten" einfach zu deaktivieren.
Behalten Sie es jedoch beim Startprogramm in der Aufgabenverwaltung bei.

Wenn Sie es in Ihrer Aufgabenverwaltung nicht finden können, können Sie eine Verknüpfung einfügen in:
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Ich vermute also, dass die Art und Weise, wie Docker den Docker-Desktop beim Anmelden startet, nicht so ist, wie Windows 10 es wünscht.


Docker-Version:
18.09.2, Build 6247962

Windows-Version:
Windows 10 Pro Insider Preview 1903, Build 18898.1000

Nichts davon hat bei mir funktioniert. Das Stoppen der Dienste (wie hier beschrieben) hat endlich den Trick getan:

net stop docker
net stop com.docker.service
taskkill /IM "dockerd.exe" /F
taskkill /IM "Docker for Windows.exe" /F
net start docker
net start com.docker.service
"c:\program files\docker\docker\Docker for Windows.exe"

Klicken Sie auf das Docker Desktop-Symbol in der Taskleiste und wählen Sie Neu starten ... hat unter Windows 10 für mich funktioniert!

Docker: Fehlerantwort vom Daemon: Treiber konnte die externe Konnektivität auf dem Endpunkt sad_sanderson nicht programmieren

Wenn jemand Docker Desktop verwendet
Befolgen Sie die folgenden Schritte: (Vermeiden Sie einen Neustart von Docker Desktop.)

  • Beenden Sie Docker Desktop
  • Starten Sie Docker Desktop erneut
  • Es wird gut funktionieren

Mein Problem war, dass ich einen Docker-Schwarm auf meinem Computer für einige Experimente initialisiert hatte. Nach dem Ausführen von docker swarm leave --force alles wieder normal

Es ist nur eine Problemumgehung, Docker jedes Mal für dieses Problem neu zu starten. In der Tat löst es das Problem, da alle Ports gestoppt werden, die möglicherweise von Containern belegt sind. Das eigentliche Problem ist jedoch, dass Ports nicht mit netstat oder mit dem Befehl docker ps angezeigt werden. Daher wird es zu einem echten Problem, festzustellen, welcher Container den Port verwendet.

Wenn jemand einen anderen Weg als Docker Restart findet oder Fast Startup deaktiviert, posten Sie bitte hier.

Für mich hat ein manueller Neustart von Docker funktioniert

Das kann ich auch bestätigen.

Ja, unter Win10 ist dies der Trick

@dtekchandani

Lösung : Deaktivieren Sie einfach "Docker Desktop starten, wenn Sie sich anmelden".
Behalten Sie es jedoch beim Startprogramm bei (z. B. kopieren Sie hier einen Link zum Docker in Ihren Startordner:
% USERPROFILE% AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

Dadurch wird Docker später nach dem Anmelden gestartet, und dies funktioniert für viele Benutzer.

win + r> cmd (als Administrator ausführen)> netstat -aon | Mehr
Dann suchen wir nach einer lokalen Adresse mit Port: 8000, merken uns die PID,> Strg + Alt + Entf gehen Sie zur Falte "Details", suchen Sie nach einem Prozess mit einer ID wie der PID> entfernen Sie die Aufgabe (schließen Sie die Aufgabe ab)> starten Sie Ihren Docker neu> und starten Sie Ihre neu Docker-Compose.
Dies sollte das Problem beheben
Option 2: Öffnen Sie einfach Ihre docker-compose.yml und ändern Sie den Port von 8000 auf einen anderen (Ports:
- '8000: 80')> Führen Sie Ihren Docker aus

Wenn Sie hier das gleiche Problem haben, führt ein Neustart von Docker / Windows / Hyper-V jedoch zu einem Fehler.
Hier ist der Ausdruck, den ich von meinem Ausführungsskript bekomme.
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: driver failed programming external connectivity on endpoint pihole (c3b944c90dc0b7d948c3dd833becc51b754174a56c36272cda325611d9b792f5): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
Diag ID:
5C4CFABD-4AEA-4F67-9016-E9B6D58A3934/20190918072240
Initial Run Script: (wenn es überhaupt hilft)
docker run -d --name pihole -p 53:53/tcp -p 53:53/udp -p 67:67/udp -p 80:80 -p 443:443 -v "${DOCKER_CONFIGS}/pihole/:/etc/pihole/" -v "${DOCKER_CONFIGS}/dnsmasq.d/:/etc/dnsmasq.d/" -e ServerIP="${IP}" --restart=unless-stopped --cap-add=NET_ADMIN --dns=127.0.0.1 --dns=1.1.1.1 pihole/pihole:latest
Um zu versuchen, den Container neu zu starten, verwende ich einfach
docker start pihole
Der Ausdruck scheint darauf hinzudeuten, dass es sich um einen Berechtigungsfehler handelt. Daher habe ich versucht, Docker Desktop _und_ Powershell mit erhöhten Berechtigungen auszuführen, erhalte jedoch immer noch den gleichen Fehler. und wenn ich dasselbe sage, meine ich, dass es jedes Mal wörtlich ist.

Versuchen Sie für Mac-Benutzer diesen Befehl, um Prozesse anzuzeigen und zu stoppen (die anderen Befehle haben bei mir nicht funktioniert):

sudo lsof -iTCP -sTCP:LISTEN -n -P

Ein Neustart von Windows hat mir geholfen.
Docker 2.1.0.3.38240

Ein Neustart von Docker unter MAC OS X MOJAVE behebt dieses Problem nicht für mich.
Ich versuche, mehrere Ports verfügbar zu machen, z. B. 5066, 5086, 8021 und einige andere.

Laufen mit Sudo funktioniert bei mir.

Mein Problem war mit 5000 Port

$ docker ps

CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS              PORTS                    NAMES
d21a21826483        web                        "watchexec --restart…"   3 weeks ago         Up 28 hours         0.0.0.0:5000->5000/tcp   web_1

Nachdem ich den Container mit 5000 Ports gestoppt hatte, half es mir.

$ docker stop d21a21826483

Ich habe diesen Thread gefunden und keiner der oben genannten hat mir geholfen.

Ich verwende Ubuntu und musste Folgendes verwenden:

sudo service docker restart

Ich habe versucht, Prune zu verwenden, und alle anderen Befehle und Docker waren sich sicher, dass nichts ausgeführt wurde, aber nach dem Neustart des Dienstes funktionierte alles wieder.

Ich hatte das gleiche Problem und versuchte es oben, aber keines funktionierte für mich.
Was es funktionierte, war ein Neustart von Windows.

Wenn Sie unter Windows auf dieses Problem stoßen, nachdem Sie Windows aus dem Ruhemodus geweckt haben, löst ein Neustart des Computers das Problem für mich.
Es gab zuvor ein ähnliches Problem mit dem schnellen Boosten unter Windows, und ich gehe davon aus, dass diese beiden verwandt sind ...

Dies löste mein Problem unter Windows:

  • docker-compose down
  • Schließen Sie den Docker-Desktop.
  • Kill Docker Service
    image
  • Docker starten, ein Popup fordert Sie auf, den Docker-Dienst über net.exe zu aktivieren, akzeptieren
  • docker-compose up

Starten Sie Docker neu ... genau das

Das ist eine großartige Problemumgehung, aber ein Neustart weist auf einen Fehler hin und dieses Problem sollte nicht geschlossen werden.

Was für mich funktioniert hat, war das Zurücksetzen des Docker-Desktops auf die Werkswerte.

Versuchte das oben genannte ohne Erfolg. Ich habe es zum Laufen gebracht, indem ich meinen gesamten Docker-Cache über Folgendes gelöscht habe:

docker ps -aq | xargs docker rm -f && \ docker images -q | xargs docker rmi -f && \ docker volume list -q | xargs docker volume rm -f

3 Jahre und dieser Fehler ist noch am Leben und gut ...

Ich habe den gleichen Fehler. So überrascht, dass dieser Thread den ganzen Weg bis jetzt läuft.

sudo apachectl stop Das hat bei mir funktioniert, da Apache anscheinend auf dem Mac lief

Windows 10:
Docker ps -a
Docker rm $ (Docker ps -a -q)
Docker-komponieren

Ich habe den gleichen Fehler. So überrascht, dass dieser Thread den ganzen Weg bis jetzt läuft.

Das hat bei mir funktioniert:

cd /usr/libexec/docker/
ln -s docker-proxy-current docker-proxy
service docker restart

Gleiche Probleme unter Oracle Linux. Das Neustarten des Docker-Dienstes hat geholfen.

Dies löste mein Problem unter Windows:

  • docker-compose down
  • Schließen Sie den Docker-Desktop.
  • Kill Docker Service
    image
  • Docker starten, ein Popup fordert Sie auf, den Docker-Dienst über net.exe zu aktivieren, akzeptieren
  • docker-compose up

Die obige Lösung funktioniert für mich, danke.

Wenn Docker läuft, habe ich dies unten.
Als Docker neu gestartet wurde, habe ich dies immer noch unten.
Wenn der Docker-Dienst beendet und neu gestartet wird, die Portbelegung weg ist, funktioniert der Docker wieder.

**netstat -aon|findstr "5601"**
  TCP    0.0.0.0:5601           0.0.0.0:0              LISTENING       9512
  TCP    192.168.6.202:55601    203.208.41.75:443      TIME_WAIT       0
  TCP    [::]:5601              [::]:0                 LISTENING       9512

**tasklist|findstr 9512**
com.docker.backend.exe        9512 Services                   0     10,916 K

Ich hatte dieses Problem unter Ubuntu 18.04, genau wie bei @ Jason-2020. Durch den Neustart des Docker-Dienstes wurde der Port auch für mich in meinem System freigegeben.

So unlogisch es auch klingen mag, der Neustart des Dienstes hat funktioniert.

(Es mussten keine Caches, alten Dateien oder ähnliches gelöscht werden.)

für Windows Problem kann leicht lösen:
Starten Sie einfach Ihren Docker neu und versuchen Sie erneut, den Server auszuführen.
image

Bis heute hat die Verwendung von W10 immer noch dieses Problem.
Docker neu gestartet, habe immer noch das Problem.
Geschlossener Docker und wieder geöffnet, haben immer noch das Problem.

Keine der anderen Lösungen hat bei mir funktioniert: /

Bis heute hat die Verwendung von W10 immer noch dieses Problem.
Docker neu gestartet, habe immer noch das Problem.
Geschlossener Docker und wieder geöffnet, haben immer noch das Problem.

Keine der anderen Lösungen hat bei mir funktioniert: /

Versuchen Sie es mit der Lösung von LoiCha. Es ist die einzige Problemumgehung, die tatsächlich für mich funktioniert hat.

Nur ein Kopf hoch, ich hatte dieses Problem mit Amazon ECS (EC2-Modus), als ich versuchte, eine neue Aufgabendefinition zu starten. Es stellte sich heraus, dass an diesem Port im EC2-Host bereits etwas anderes abgehört wurde. Ich habe den Prozess gestoppt und die Aufgabendefinition konnte normal gestartet werden.

Das Stoppen des Docker-Dienstes im Task-Manager hat mein Problem auf W10 gelöst

@ tsantos84 Docker wird in einer VM ausgeführt, wenn Sie Docker für Mac verwenden.

Versuchen Sie Folgendes (ich habe dies jedoch nicht getestet):

* `docker rm -f $(docker ps -aq)` (will remove all of your containers)

* `docker network rm $(docker network ls -q)` (will remove all of your networks)

* `docker run --rm -v /var/lib/docker/network/files:/network busybox rm /network/local-kv.db`

Starten Sie dann Docker für Mac neu und Sie sollten bereit sein, +1 zu wählen

Vielen Dank! Es hat mir geholfen, das Problem schnell zu lösen.

@ tsantos84 Docker wird in einer VM ausgeführt, wenn Sie Docker für Mac verwenden.
Versuchen Sie Folgendes (ich habe dies jedoch nicht getestet):

* `docker rm -f $(docker ps -aq)` (will remove all of your containers)

* `docker network rm $(docker network ls -q)` (will remove all of your networks)

* `docker run --rm -v /var/lib/docker/network/files:/network busybox rm /network/local-kv.db`

Starten Sie dann Docker für Mac neu und Sie sollten bereit sein, +1 zu wählen

Vielen Dank! Es hat mir geholfen, das Problem schnell zu lösen.

Hi @ fede-r1c0, ich weiß nicht, warum du mich erwähnt hast und wahrscheinlich einen anderen Benutzer markieren wolltest. Wie auch immer, ich bin froh, dass Sie Ihr Problem lösen. 👍

@ Jamshid
Können Sie das O / P von sudo netstat -nlp | grep 8123 posten? Vielen Dank.

und sudo service {nameOfService} stoppen

Ich habe das gleiche Verhalten festgestellt, jedoch zum Überschreiben des Dienstes, indem ich docker-compose.override.yml . Die verwendeten Dateien:

docker-compose.yml :

version: '3.2'
services:
  app:
    build:
      context: ./
    ports:
     - "8000:80"
    volumes:
     - ./:/app

docker-compose.overrride.yml :

version: '3.2'
services:
  app:
    ports:
     - "8001:80"

Das gibt mir folgenden UNERWARTETEN Fehler:

ERROR: for my_app_1  Cannot start service app: driver failed programming external connectivity on endpoint my_app_1 (9235372fe636fba32be67f9f101a3432139c691a41fc6d207e53c98e25139a29): Bind for 0.0.0.0:8000 failed: port is already allocated

ERROR: for app  Cannot start service app: driver failed programming external connectivity on endpoint my_app_1 (9235372fe636fba32be67f9f101a3432139c691a41fc6d207e53c98e25139a29): Bind for 0.0.0.0:8000 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

Ich habe erwartet, dass die ports Direktive in docker-compose.override.yml dieselbe in docker-compose.yml überschreibt (der 8000 Port auf meinem Computer wird bereits von einer anderen Anwendung zugewiesen, deshalb habe ich versuchte das Überschreiben), aber das passiert nicht, was falsch ist und wie ein Fehler scheint.

Betriebssystem: Windows 10
Docker: 19.03.12, build 48a66213fe

In meinem Fall war das Problem darauf zurückzuführen, dass consul lokal, aber auch in einem Container ausgeführt wurde.

Für mich war es eine Firewall, unter CentOS 7 führen Sie Ihren Docker normal aus, wenn Sie arbeiten, stoppen Sie dann die Firewall oder starten Sie sie einfach neu. Versuchen Sie nun, diesen Docker-Container neu zu starten. Dies schlägt mit diesem Fehler fehl. Starten Sie den Docker-Dienst neu und versuchen Sie es erneut ... funktioniert einwandfrei.

Ich bin auf dasselbe Verhalten gestoßen.
Dies löste mein Problem auf centos7:
ps -ef | grep docker
kill the "...dockerd -H fd:// --containerd=/run/containerd/containerd.sock" process

Ich habe diesen Thread gefunden und keiner der oben genannten hat mir geholfen.

Ich verwende Ubuntu und musste Folgendes verwenden:

sudo service docker restart

Ich habe versucht, Prune zu verwenden, und alle anderen Befehle und Docker waren sich sicher, dass nichts ausgeführt wurde, aber nach dem Neustart des Dienstes funktionierte alles wieder.

DANKESCHÖN! HEILIGER FK, ich habe einen ganzen Tag damit verbracht, dies zu beheben.
DAS JAHR IST 2020, DAS SIND 4 JAHRE UND DIESES PROBLEM BESTEHT NOCH. WTF

War diese Seite hilfreich?
5 / 5 - 1 Bewertungen