Docker是在WSL中运行还是连接回Windows?

在WSL中成功安装Docker之后,如果我运行标准Docker命令,则会出现连接错误。在所有示例中,使用sudo或不使用sudo运行都会产生相同的结果。

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?

但是,如果我在命令中添加-H localhost:2375,那么我可以运行Docker没问题。Docker是连接到我的本地主机Windows

10计算机还是在WSL上本地运行,还是两者兼而有之?

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

回答:

Docker守护程序无法实现必要的内核ABI,因此无法在WSL下运行。如果您正在运行Windows的Docker,则可能正在连接到它管理的Hyper-

V虚拟机。

因为它在另一台机器上,所以您将无法将WSL目录作为Docker卷挂载,但是可以从WSL目录构建映像。这是因为在构建中,客户端会创建一个tarball并将其发送到守护程序。

以上是 Docker是在WSL中运行还是连接回Windows? 的全部内容, 来源链接: utcz.com/qa/419663.html

回到顶部