使用 WSL 操控 Docker for Windows

当然,理论上可以操控任意的远程 Docker Daemon。

注意:不要误认为是在 WSL 运行 Docker,这是完全没有可能的。

Docker for Windows 设置

设置中打开 2375 端口,这里不再赘述。

下载文件

注意替换为最新版本号

国内地址

1
$ curl -SL http://mirrors.ustc.edu.cn/docker-ce/linux/static/test/x86_64/docker-17.12.0-ce-rc4.tgz | tar -zxvf -

官方地址

1
$ curl -SL https://download.docker.com/linux/static/test/x86_64/docker-17.12.0-ce-rc4.tgz | tar -zxvf -

移入 PATH

1
2
3
4
5
$ sudo cp docker/docker /usr/local/bin/docker

$ rm -rf docker

$ docker --version

命令行补全

1
$ sudo curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker

设置环境变量

编辑 ~/.bash_profile

1
export DOCKER_HOST="tcp://127.0.0.1:2375"

退出终端重新登录

1
$ docker info

高级玩法

完全在 WSL 中操控 Docker

1
2
3
4
5
6
7
8
9
$ ln -sf /mnt/c /C

$ cd /C

$ docker run -it --rm -v $PWD:/C busybox sh

$ cd /C

$ ls

原理 Windows Docker 服务端将 C 盘挂载到了 /C

所以我们在 WSL 中也将 C 盘软链接到 /C,这样在 WSL /C 中使用 Docker 就可以使用 $PWD 变量挂载本地文件了。

当然也可以通过 WSL 的配置文件将 C 盘直接挂载到 /c,具体请查看下边的链接

https://github.com/khs1994-docker/lnmp/blob/master/wsl/config/wsl.conf

0%