What are the dependencies and steps to connect to a remote docker container from VSCode ? So I can properly compile and run the code with the tools in my container environment?
I have tried to follow the instructions here without much luck:
My setup involves:
Host
with VSCode, no docker installed , ssh client installed, ssh keys are in placeServer
with VSCode, docker installed, ssh client and server installed Docker container
already running on Server
Host
can connect to Server
, through VSCode using the Remote Development Version: 0.17.0
extension, through Remote - SSH Version: 0.47.2
extension Version: 0.47.2
Server
can connect to Docker container
, through VSCode using the Remote Development Version: 0.17.0
extension, through Remote - Containers Version: 0.83.1
extension.
How do I connect Host
to a Running Docker container
?
UPDATE 1 Small advance
I have added this line to my ~/.config/Code/User/settings.json
file. The option gets highlighed with a message unknown configuration setting
{
...
"docker.host":"tcp://localhost:23750",
...
}
Run this command in another terminal:
ssh -N -L localhost:23750:/var/run/docker.sock <user>@<serveraddr>
And now I can see the running containers in Remote explorer
> Containers
> Other Containers
. However, when trying to connect to it, I get the following error message.
Setting up container with bc1700db049858ba20f1c830bbeff6d6a4e04de58a2b35a61df1016788bc07db
Docker returned an error code 127, signal null, message: Command failed: docker system info
/bin/sh: docker: command not found
So, it appears that docker must be installed on the host
machine to prevent the last mentioned error.
Note : docker service does not need to be running in the host
( systemctl disable docker
)
With this in mind, these are the steps.
Host
:
~/.config/Code/User/settings.json
with "docker.host":"tcp://localhost:23750",
Server
ssh -N -L localhost:23750:/var/run/docker.sock <user>@<serveraddr>
) Remote Development
extension. Restart VSCodeRemote explorer
> Containers
> Other ContainersServer
:
I realize this was already answered, but I stumbled across this while trying to set this up myself today. I found an additional issue I had appeared to be that my local SSH key had not been added to the agent. I was following the instructions here .
I am running Windows 10 Version 1909 Build 18363.1082.
After doing an ssh-add $Env:USERPROFILE\\.ssh\\id_rsa
and restarting the ssh-agent
, I was able to connect to the remote container without having to employ the ssh tunneling method you show above.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.