docker / for-win

Bug reports for Docker Desktop for Windows
https://www.docker.com/products/docker#/windows
1.86k stars 288 forks source link

Error response from daemon: driver failed programming external connectivity on endpoint #2722

Closed gitULuser closed 3 years ago

gitULuser commented 6 years ago

It is reproducible, but the error message is only displayed the first time. After the initial time, there is no error message, but the container does not run. Details are shown as CREATED: 7 seconds ago STATUS: Exited (1) 6 seconds ago. Tried restarting Docker, and also resetting to factory defaults.

Steps to reproduce the behavior

  1. Create the container.
  2. Run the container.
  3. Check to see if it is running.
jasonwilliams commented 6 years ago

This is the same for me, its always the first time. After i restart docker the second time it works

OS Name Microsoft Windows 10 Pro Version 10.0.17134 Build 17134 Docker Version 2.0.0.0-beta1-win75 (19925) Channel: edge 915f68b

Related: https://github.com/docker/for-win/issues/1752 Related: https://github.com/docker/for-win/issues/573 Related: https://github.com/docker/for-win/issues/1038

Is anyone fixing this? There seem to be a few issues around the same problem?

CodrinFaca commented 5 years ago

Try disabling "Experimental Features" in the Settings/Daemon menu, restarting docker and then stopping all containers.

(worked for me. from: https://stackoverflow.com/questions/49693353/error-response-from-daemon-driver-failed-programming-external-connectivity-on-e?rq=1)

jasonwilliams commented 5 years ago

Properly shutting docker down before restart worked for me

pd93 commented 5 years ago

Also related: https://github.com/docker/for-win/issues/1967

docker-robott commented 5 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale comment. Stale issues will be closed after an additional 30d of inactivity.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so.

Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows. /lifecycle stale

thomasvnl commented 5 years ago

/remove-lifecycle stale

This is the same for me, its always the first time. After i restart docker the second time it works

Same issue, also on Windows 10 Pro. After restarting docker, it works again.

lbs-rodrigo commented 5 years ago

I also restarted the docker on windows 10 and it worked.

talaikis commented 5 years ago

Yeah, restarting work. Docker version 18.09.1, build 4c52b90

zanfilip commented 5 years ago

I'd really like to see a solution other than restarting docker - which is disruptive. It would be preferable to have a command to release the process holding the lock on the endpoint despite the container being stopped. Is that possible?

pd93 commented 5 years ago

@zanfilip This is caused by an incompatibility with Docker and fastboot. You can either make sure you stop all containers before shutting Windows down or you can disable fastboot in Windows' power settings by doing the following:

CTRL+R > "powercfg.cpl" > "Choose what the power buttons do" > "Change settings that are currently unavailable" > Deselect "Turn on fast start-up"

You can also disable fastboot with a single command in powershell if you're comfortable doing so:

Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power\' -Name HiberbootEnabled -Value 0

More info in #1967 as referenced earlier.

FrankFang commented 5 years ago

@pd93 I prefer to restart docker instead of disabled fastboot. Because fastboot is cool : )

Finally, I switched to DockerToolBox.

zanfilip commented 5 years ago

@pd93 Thanks for the informative suggestion but I have the issue each time I stop a container, not after restarting Windows.

I have to restart that container because it exposes 2 ports and often within minutes of being up the ports are no longer accessible (this is ibmcom/mq latest, in case anyone is interested). So the following commands give me the issue: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 69dfe4b24676 ibmcom/mq "runmqdevserver" 8 days ago Up About a minute 0.0.0.0:1414->1414/tcp, 0.0.0.0:9443->9443/tcp, 9157/tcp pensive_mcnulty docker container stop pensive_mcnulty docker start -ai pensive_mcnulty

$ docker start -ai pensive_mcnulty Error response from daemon: driver failed programming external connectivity on endpoint pensive_mcnulty (ffe739bcbf738391180f26b04512d1b6edefbae489df69ca6fe9daf8b6675ebe): Error starting userland proxy: mkdir /port/tcp:0.0.0.0:9443:tcp:172.17.0.2:9443: input/output error

LBoraz commented 5 years ago

same issue on windows 10

ghost commented 5 years ago

Well this does my head in.. every morning I turn my Windows 10 PC on, run my build command only to read :

Error response from daemon: driver failed programming external connectivity on endpoint sharp_lichterman (e88c95d64534c769171ed780db3ece823eafb1ddd5616c58d7334f766a8cd9c0): Error starting userland proxy: mkdir /port/tcp:0.0.0.0:1533:tcp:172.17.0.2:1433: input/output error.

I shouldn't have to restart docker for desktop every morning and wait 10 years for it to come back up... It's supposed to be an 'in' technology but man this is not efficient.

I'll be waiting for your fix! (ASAP I hope!)

timgoeller commented 5 years ago

Got the same problem right now, although it didn't happen the first time I restarted the machine, it started to show these problems after ~ a week.

Touseef90 commented 5 years ago

Facing the same issue, at the first time. After I restart docker it works fine. I was using this command "docker run --detach --publish 80:80 --name webserver nginx". On windows OS.

LordGenry commented 5 years ago

Got the same issue.

docker run -p 3001:3001 -d $NAME

Solutions as:

Windows 10pro: 1809, 17763.379 docker desktop: 2.0.0.3 (31259), 8858db3

sentinel09 commented 5 years ago

Started to experience this issue. Worked great 1-1.5 week ago.

WIndows 10 Pro 17763 Docker: 18.09.2

P.S. system restart helped.

dragonworx commented 5 years ago

I found restarting docker did fix it, but it was REALLY slow - too painful for any kind of enjoyable development... I narrowed down the problem to containers which were killed by the user (Ctrl-C), they left running container processes around when you check with docker ps -a. Seemed to have trouble running over the top of them? Killing all the running containers seems to work docker kill $(docker ps -q). Then you can docker run... again without that error. For basic development, its faster than waiting for docker to restart via GUI.

tekeburak commented 5 years ago

I got the same error on Ubuntu 18.04. The following code fixed the issue.

burak@docker:~$ sudo service docker restart
AndiKrue commented 5 years ago

Windows 10: after docker restart it works. but please fix it

mushahrukhkhan commented 5 years ago

how did you start docker in windows 10?

ozrentk commented 5 years ago

Yes, same error was happening to me while trying to start container with a link. Restarting docker helped. Docker log file is attached if anyone is interested.

MS Windows Vession 10 Pro 10.0.17763. Docker Version 2.0.0.3 (31259).

log.txt

palmin90 commented 5 years ago

same problem, fix it pls

arianb7 commented 5 years ago

same problem,It is pain in the neck.

GJStevenson commented 5 years ago

+1

ajitgoel commented 5 years ago

I am able to get docker working on my windows 10 pc by resetting docker to the factory defaults.

dragonworx commented 5 years ago

how did you start docker in windows 10?

@mushahrukhkhan I have Windows 10 Pro which starts Docker automatically. Otherwise I would start it manually from docker Taskbar icon.

houliang428 commented 5 years ago

I restarted the docker and it worked. From Windows 10

sumitgupta153 commented 5 years ago

@pd93 Thanks for the informative suggestion but I have the issue each time I stop a container, not after restarting Windows.

I have to restart that container because it exposes 2 ports and often within minutes of being up the ports are no longer accessible (this is ibmcom/mq latest, in case anyone is interested). So the following commands give me the issue: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 69dfe4b24676 ibmcom/mq "runmqdevserver" 8 days ago Up About a minute 0.0.0.0:1414->1414/tcp, 0.0.0.0:9443->9443/tcp, 9157/tcp pensive_mcnulty docker container stop pensive_mcnulty docker start -ai pensive_mcnulty

$ docker start -ai pensive_mcnulty Error response from daemon: driver failed programming external connectivity on endpoint pensive_mcnulty (ffe739bcbf738391180f26b04512d1b6edefbae489df69ca6fe9daf8b6675ebe): Error starting userland proxy: mkdir /port/tcp:0.0.0.0:9443:tcp:172.17.0.2:9443: input/output error

Right, basically that port mapping was already being used by previous running container. Check currently running container: docker container ls Stop the container that is using that port combo: `docker container stop Now, run: docker run -p 5001:5000 -d test-program2 (and then you can see it in browser via: localhost:5001 or 127.0.0.1:5001).

sambic-mike commented 5 years ago

Same issue for me, this is really annoying, any idea if there is a fix coming in for this? Docker Desktop Version 2.0.0.3 (31259) Windows 10 Enterprise Version 10.0.15063 Build 15063

endormi commented 5 years ago

I am able to get docker working on my windows 10 pc by resetting docker to the factory defaults.

@ajitgoel I don't think that resetting docker back to the factory defaults is necessary. Docker needs quite a bit of memory and most of the times the factory defaults don't have enough memory available to run containers. I'm using windows 10 and for me simply restarting docker worked.

ajitgoel commented 5 years ago

@endormi , you are surely right, but I was able to resolve the issue by resetting docker. restarting the system, restarting docker did not work on my development machine.

ijustlearn commented 5 years ago

same problem, fix it pls

jehadassaf commented 5 years ago

Can we please get at least a fix/wontfix on this? It's been a while since we've had to put up with this nuisance.

jasonwilliams commented 5 years ago

@mikeparker can you address these open issues?

Related: https://github.com/docker/for-win/issues/1752 Related: https://github.com/docker/for-win/issues/573 Related: https://github.com/docker/for-win/issues/1038 Related: https://github.com/docker/for-win/issues/2722

Or at least close the duplicates

johnathan-s commented 5 years ago

yep. It is still a problem. Do we know that Docker and MS are aware of this one?

mikeparker commented 5 years ago

Hi everyone, thanks for your patience around this. We've identified the cause and will be releasing a fix with our next stable build which is imminent.

lukasz-cpu commented 5 years ago

I used to have the same problem, after restart Docker via Docker Dekstop on Windows 10 the problem is solved.

maarten-kieft commented 5 years ago

Well, I still face the problem? The latest release, version 2.1.0.0, (which I have installed) still reports the same issue. This release is from 31 july, so after the comment of Mike. I do see in the release notes that they mention something about it? errors that I get:

ERROR: for [containername] Cannot start service [containername]: driver failed programming external connectivity on endpoint [containername] ... error 0:6379: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

No other containers are running. Normally a restart would fix the issue, but that doesn't seem to work now. This docker-compose file always worked in the past?

DirkWolthuis commented 5 years ago

@maarten-kieft Same here!

DirkWolthuis commented 5 years ago

@maarten-kieft A restart of windows did it for me.

maarten-kieft commented 5 years ago

@DirkWolthuis Thanks, that seems work. I had some containers on autostart so I needed to kill first all containers, remove them, reboot my machine. Restarting Docker in the past was earier..

@MikePartner: Can you have a look at the issue again? Can I provide you any information. I see clearly that if I kill all containers that still some ports are occupied by the com.docker.backened.exe process

fgiacomelli commented 5 years ago

Same problem for me with Docker 2.1.0.1 and windows 10 updated. Restarting Docker, and Hyper-v doesn't solve the problem. But killing all the processes related to docker and starting the Docker Desktop again does

michaltajchertdev commented 5 years ago

Only killing Docker.Service process helped. Win 10 Pro, Docker 2.1.0.1 But this problem still exists from months. Until now just restart Docker Desktop was enough. Now restart Windows doesn't help. It's ridiculous.

crgarcia12 commented 5 years ago

Since today I started having this issue. I have been using Docker on W10 for months and it never happened before

doi155 commented 5 years ago

I also started having this issue today. Win 10 Pro, Docker 2.1.0.1 Sometimes rebooting Windows works, but sometimes not. It is an indeterministic behavior.

['docker', 'run', '--name', 'dynamodb', '-d', '-p', '9000:8000', '--network', 'dynamodb-local', 'amazon/dynamodb-local']
95eafe65f3e1d97c2769ba5061d73517e6dcf02b10e4af542df14d10c09f27e6
docker: Error response from daemon: driver failed programming external connectivity on endpoint dynamodb (cd65f50495fe9bb51eedf81b884e987c915a34ba6ceae12b9d51582935951d99): Error starting userland proxy: listen tcp 0.0.0.0:9000: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
shiro997 commented 5 years ago

I have this issue when i tried to create a new container on the same port of another deleted container.

OS Name: Microsoft Windows 10 Pro OS Version: 10.0.17134 N/D Compilation 17134 Docker Version: 19.03.1

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: driver failed programming external connectivity on endpoint container_name (b0bbf2c6b84ff38bd6f144418c5b20d43e60bf79778a5d53747d3ab1158a80c8): Error starting userland proxy: listen tcp 0.0.0.0:4600: bind: Solo se permite un uso de cada dirección de socket (protocolo/dirección de red/puerto). my os is in spanish

crgarcia12 commented 5 years ago

I updated windows and docker, then restarted the laptop, and now i dont see that anymore

jakubsgil commented 5 years ago

Hi everyone, thanks for your patience around this. We've identified the cause and will be releasing a fix with our next stable build which is imminent.

Hi there, I have upgraded to the newest docker version (2.1.0.1) and then started to see this issue. Restarting docker does not seem to work/resolve this. Only see this problem go away is when I reinstall docker. Is there some sort of port or firewall related issue that I might be seeing from an enterprise IT restriction?