Problembeschreibung

Der Start eines Docker Containers wird durch das Programm Windows Internetinformationsdienste (IIS)-Manager abgebrochen, weil ein oder mehrere Ports bereits belegt sind:

PS E:\> docker container start d358b967bacd
Error response from daemon: driver failed programming external connectivity on endpoint mgt-dev (74fc1ca35263562da5caa22a705cd2c8c3789fa3e4d30ff3abee4a9d382994d5): Bind for 0.0.0.0:443 failed: port is already allocated
Error: failed to start containers: d358b967bacd
PS E:\>

Dieser Fehler betrifft nicht nur Docker, sondern auch andere lokale Entwicklungsumgebungen wie, XAMPP, MAMP, Vagrant usw.

Das Problem wird meistens durch den IIS-Manager von Windows verursacht, der im Standard mit Windows gestartet wird.

Hinweis: Sollte nicht der IIS-Manager den Port blockieren, dann kann man mit dem Befehl die PID (Windows Prozess ID) ermitteln:

netstat -bano -p TCP | findstr /r 0.0:443

Lösungsansatz

Änderung der Startup-Einstellung des IIS-Managers im Windows Dienste Programm.

  1. Suche im Windows Suchfeld nach services.msc
  2. Suche in der lokalen Diensteliste nach WWW-Publishingdienst (Dienstname: W3SVC)
  3. Öffne die Eigenschaften des Dienstes (Rechte Maustaste)
  4. Ändere den Starttyp in Manuell
  5. Speichere die Einstellung mit Ok
  6. Starte den PC neu

HINWEIS: Der IIS Server kann auch manuell beendet werden: Start or Stop the Web Server (IIS 8) | Microsoft Docs