Is Docker running within WSL or connecting back to Windows?

After successfully installing Docker in WSL, if I run standard Docker commands, I get connection errors. Runing with sudo or not yields the same result in all examples.

root@SUR002731165154:~# sudo docker info
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

root@SUR002731165154:~# sudo docker version
Client:
Version:      1.13.1
API version:  1.26
Go version:   go1.7.5
Git commit:   092cba3
Built:        Wed Feb  8 06:42:29 2017
OS/Arch:      linux/amd64
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

However, if I add -H localhost:2375 to the command I can run Docker no problem. Is Docker connecting to my localhost Windows 10 machine or is it running locally on WSL, or is doing a bit of both?

  • Issue getting memcache container to automatically start in Docker
  • Bundle optimization for ruby on Docker
  • Strange errors when running npm install on alpine linux
  • How to evaluate the CPU and Mem usage for speccific command/docker in linux?
  • Docker unable to resolve .net standard class libraries, on deploying .net core app to Docker
  • How to delete unused blobs in docker registry?
  • root@SUR002731165154:~# docker -H localhost:2375 version
    Client:
    Version:      1.13.1
    API version:  1.26
    Go version:   go1.7.5
    Git commit:   092cba3
    Built:        Wed Feb  8 06:42:29 2017
    OS/Arch:      linux/amd64
    
    Server:
    Version:      1.13.1
    API version:  1.26 (minimum version 1.12)
    Go version:   go1.7.5
    Git commit:   092cba3
    Built:        Wed Feb  8 08:47:51 2017
    OS/Arch:      linux/amd64
    Experimental: true
    
    root@SUR002731165154:~# docker -H localhost:2375 info
    Containers: 11
    Running: 0
    Paused: 0
    Stopped: 11
    Images: 8
    Server Version: 1.13.1
    Storage Driver: overlay2
    Backing Filesystem: extfs
    Supports d_type: true
    Native Overlay Diff: true
    Logging Driver: json-file
    Cgroup Driver: cgroupfs
    Plugins:
    Volume: local
    Network: bridge host ipvlan macvlan null overlay
    Swarm: inactive
    Runtimes: runc
    Default Runtime: runc
    Init Binary: docker-init
    containerd version: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1
    runc version: 9df8b306d01f59d3a8029be411de015b7304dd8f
    init version: 949e6fa
    Security Options:
    seccomp
    Profile: default
    Kernel Version: 4.9.8-moby
    Operating System: Alpine Linux v3.5
    OSType: linux
    Architecture: x86_64
    CPUs: 2
    Total Memory: 1.934 GiB
    Name: moby
    ID: 4LYM:R5T5:6CPZ:Z2KC:YQ4R:NGN4:V6SR:DF7E:YPYO:7FHY:EQW5:2T7W
    Docker Root Dir: /var/lib/docker
    Debug Mode (client): false
    Debug Mode (server): true
    File Descriptors: 13
    Goroutines: 21
    System Time: 2017-02-28T18:54:13.7726687Z
    EventsListeners: 0
    Registry: https://index.docker.io/v1/
    Experimental: true
    Insecure Registries:
    127.0.0.0/8
    Live Restore Enabled: false
    

  • Is it possible to run Telegraf in Docker (and get accurate metrics)?
  • Using docker-compose with GELF log driver
  • Winston Not Logging
  • Change the terminal app for Docker Quickstart Terminal
  • Docker Hub automated build failure. Local build is fine
  • Remote debugging node app in Docker
  • One Solution collect form web for “Is Docker running within WSL or connecting back to Windows?”

    The Docker daemon can’t run under WSL as it doesn’t implement the necessary kernel ABI’s. If you’re running Docker for Windows, you are probably connecting to the Hyper-V virtual machine that it manages.

    Because it’s on a different machine, you will not be able to mount WSL directories as Docker volumes, but you can build images from a WSL directory. This is because on a build, the client creates a tarball and sends it to the daemon.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.