microsoft / vscode-docker

Docker Extension for Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker
Other
1.21k stars 517 forks source link

Docker extension does not show the containers after updaing vscode to v1.55: vscode error connect econnrefused 127.0.0.1:80 #2831

Closed davari closed 3 years ago

davari commented 3 years ago

Issue Type: Bug

VS Code Version: 1.55 OS Version: Windows 10 Pro, Version 20H2

After updating vscode to version 1.55 (March 2021), the Docker extension does not show the remote containers anymore and instead shows this error: vscode error connect econnrefused 127.0.0.1:80 It is worth noting that the containers were shown before the update in vscode 1.54.3.

Failed temporary solution: By disabling the update.mod and downgrading vscode to version 1.54.3, the containers appear again in the remote-docker extension. However, the "Attach Visual Studio Code" option gets disappeared (apparently caused by disabling the auto-update).

majksner commented 3 years ago

Have exactly the same issue. I've reported it here, maybe a wrong place. microsoft/vscode-remote-release#4800

It will work if you enable "Remote Explorer" in the sidebar instead of using Docker. That worked at least for me.

davari commented 3 years ago

Have exactly the same issue. I've reported it here, maybe a wrong place. microsoft/vscode-remote-release#4800

It will work if you enable "Remote Explorer" in the sidebar instead of using Docker. That worked at least for me.

Thank you Nikola for the solution. It worked for me! As the bug with the docker extension still remains, I do not close the issue for the time being.

bwateratmsft commented 3 years ago

@davari @majksner can you share a screenshot of what you're seeing?

majksner commented 3 years ago
Screenshot 2021-04-01 at 15 15 52 Screenshot 2021-04-01 at 15 16 47
bwateratmsft commented 3 years ago

Do you have an SSH Docker host?

majksner commented 3 years ago

I do, I use Docker context with SSH connection.

bwateratmsft commented 3 years ago

Ok. Did you follow the SSH agent setup here?

majksner commented 3 years ago

I did. A bit more info than in this issue.

I'm pasting my original issue here: (microsoft/vscode-remote-release#4800)

After update to Code 1.55 "Remote - Containers" extension is stopped working correctly. I can't connect to remote Docker via context any more. By reverting to Code 1.54.3 I can see containers showing up but I don't have option "Attach Visual Studio Code", but if I downgrade "Remote - Containers" extension to 0.163.1 (Code 1.54.3) I can see "Attach Visual Studio Code" again when I do right-click on the running container. Reverting extension in Code 1.55 didn't help.

Extension version: 0.166.0 VS Code version: Code 1.55.0 (c185983a683d14c396952dd432459097bc7f757f, 2021-03-30T16:07:58.402Z) OS version: Darwin arm64 20.3.0

davari commented 3 years ago

@bwateratmsft my answers to your questions so far are exactly similar to @majksner's

bwateratmsft commented 3 years ago

Ok, I think I've reproduced something similar. I haven't figured out why yet, but for some reason Dockerode is making requests to localhost instead of to the SSH server. I see "404" because there's a web server running on port 80 locally; @davari it makes sense that you see ECONNREFUSED if nothing is running locally on 80.

bwateratmsft commented 3 years ago

@davari @majksner if you set the http.proxySupport setting to off, does the issue go away (might need to restart VSCode after)?

image

I think this might be this issue come back to life.

bwateratmsft commented 3 years ago

cc @chrmarti since this might be due to the update to vscode-proxy-agent 0.9.0.

davari commented 3 years ago

@bwateratmsft Setting the http.proxySupport setting to off solved the problem for me. Thank you! But why should the Docker extension make request to the localhost instead of the defined SSH server?!

bwateratmsft commented 3 years ago

That's just it, it shouldn't make it to localhost. Seems like vscode-proxy-agent is hijacking the agent used by docker-modem and redirecting requests when it should not be. This is a regression in VSCode 1.55.0.

bwateratmsft commented 3 years ago

I opened https://github.com/microsoft/vscode/issues/120354 against VSCode.

markedwards commented 3 years ago

Same issue here on OS X version -- I can confirm that "http.proxySupport": "off" is a fix for me as well.

sartyukhov commented 3 years ago

@davari @majksner if you set the http.proxySupport setting to off, does the issue go away (might need to restart VSCode after)?

thanks for that temporary solution I have exactly the same problem as topic starter since this update, but I am using linux env DOCKER_HOST=ssh://... for access to my remote docker

fhaefemeier commented 3 years ago

Same issue here on OS X version -- I can confirm that "http.proxySupport": "off" is a fix for me as well.

Same issue here (OS X 10.13.6 and Fedora 32, vscode 1.55) using configured docker context with ssh url, but the workaround does not help in my case. I get 'Error: request timed out'. Side note: the request to the remote server via shell CLI call (same docker context) is working perfect.

bwateratmsft commented 3 years ago

@fhaefemeier do you have an SSH agent set up?

max06 commented 3 years ago

And another one bit the dust. Working in Containers on a remote machine through ssh, using a docker context. docker ps is working perfectly fine in any shell. "http.proxySupport": "off" instantly fixed it.

fhaefemeier commented 3 years ago

@fhaefemeier do you have an SSH agent set up?

On OS X yes, it is running, but my ssh keys are missing. After adding it the extension is now working. Thanks for the hint. On linux the extension is working as well.

bwateratmsft commented 3 years ago

@davari @majksner @markedwards @sartyukhov @max06 @fhaefemeier (Wow that's a lot of tags!)

VSCode 1.55.1 is released now and should fix this issue without needing "http.proxySupport": "off". I was able to connect successfully in a quick canary test. Can anyone else confirm?

davari commented 3 years ago

@bwateratmsft I can confirm that updating to VSCode 1.55.1 solved the issue. Thank you and the team!