Search code examples
dockerdocker-machinedocker-for-windowsdocker-desktop

Connect with ssh to docker daemon on Windows


I installed Docker Desktop for Windows on Windows 10 with https://docs.docker.com/docker-for-windows/install/#install-docker-for-windows. It not uses VirtualBox and default VM to host docker.

I am able to run containers but how I connect to a docker with ssh?

docker-machine ls does not show my docker host.

Tried to connect to docker@10.0.75.1 but it requires password. And tcuser that used for boot2docker VM not matching:

ssh docker@10.0.75.1 Could not create directory '/home/stan/.ssh'. The authenticity of host '10.0.75.1 (10.0.75.1)' can't be established. RSA key fingerprint is .... Are you sure you want to continue connecting (yes/no)? yes Failed to add the host to the list of known hosts (/home/stan/.ssh/known_hosts). docker@10.0.75.1's password: Write failed: Connection reset by peer


Solution

  • Run this:

    docker run -it --rm --privileged --pid=host justincormack/nsenter1
    

    Just run this from your CLI and it'll drop you in a container with full permissions on the Moby VM. Only works for Moby Linux VM (doesn't work for Windows Containers). Note this also works on Docker for Mac.

    Reference: https://www.bretfisher.com/getting-a-shell-in-the-docker-for-windows-vm/