Windows 10 的Linux自系统WSL下安装docker

学习django,须要使用docker。可是由于笔记本的内存过低了,只有4G,带不动虚拟机,只好用WSL续命了。web

原本想离线安装Docker的

linux下支持docker有windows镜像吗 linux运行windows docker_linux子系统装docker

可是一直报错,一开始安装的WSL终端界面已经关掉了,没办法截图了。老是提示在安装docker-ce的时候出错,还提示libltdl7这个出问题了,但libltdl7这个是不能被安装的,一时间安装进行不下去了。

后来就去找Win10 的WSL下安装docker的办法了

在知乎找到一篇:https://zhuanlan.zhihu.com/p/39187620

下面是我按照这个流程来进行安装的过程docker

sudo apt update

sudo apt-get install docker.io

linux下支持docker有windows镜像吗 linux运行windows docker_知乎_02

首先更新了一下源,而后就开始安装docker.io了。安装仍是挺顺利的。django

linux下支持docker有windows镜像吗 linux运行windows docker_linux子系统装docker_03

docker就安装好了。

linux下支持docker有windows镜像吗 linux运行windows docker_知乎_04

而后启动dockersvg

sudo service docker start

注意这里须要使用sudo

linux下支持docker有windows镜像吗 linux运行windows docker_linux子系统装docker_05

可是运行测试命令时候运行不了

linux下支持docker有windows镜像吗 linux运行windows docker_linux子系统装docker_06

提示没有这个daemon。没有docker的守护进程。性能

而后我就按知乎的教程执行了一下学习

sudo cgroupfs-mount

sudo service docker start

linux下支持docker有windows镜像吗 linux运行windows docker_linux子系统装docker_07

我看漏了这个管理员启动WSL。。因此执行后没有效果。

而后我就去找别的解决方案了。。测试

按照这个博客的思路,unix

systemctl daemon-reload

systemctl restart docker.service

执行了这个命令,可是系统提示没有这个。而后也按照博主的思路去安装了daemon,安装上了,个人系统还真没有daemon?。。。好吧

linux下支持docker有windows镜像吗 linux运行windows docker_linux子系统装docker_08

继续启动docker的测试, 无果。

linux下支持docker有windows镜像吗 linux运行windows docker_知乎_09

而后又去知乎那篇文里看了

而后就找到这个

linux下支持docker有windows镜像吗 linux运行windows docker_知乎_10

管理员模式启动

linux下支持docker有windows镜像吗 linux运行windows docker_重启_11

而后测试,仍是不行

saberbin@Saberbin:~$ sudo docker run hello-world

[sudo] password for saberbin:

docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

See 'docker run --help'.

而后我就进入了root,尝试了仍是不。WSL管理员启动root好像不能截图

用win10自带的能够截图。。。

linux下支持docker有windows镜像吗 linux运行windows docker_知乎_12

一开始仍是不行,而后我就重启了一下docker服务,在用sudo docker run hello-world就能够了。估计是刚刚进行了什么操做没有重启,又或者是普通WSL用户没有权限,这个就不得而知了。

WSL的性能仍是堪忧啊。

最终docker测试命令启动成功,看到第一行输出为“Hello …”就能够了。

linux下支持docker有windows镜像吗 linux运行windows docker_重启_13

终于能够了。

WSL的普通用户也能够运行docker的测试了,可是估计也要使用管理员模式启动WSL的终端才行。

linux下支持docker有windows镜像吗 linux运行windows docker_知乎_14

关机后再次启动docker

关机以后再次启动docker,仍是出现daemon的报错

linux下支持docker有windows镜像吗 linux运行windows docker_重启_15

早上又折腾了一下。

开了个管理员的WSL终端,进入root用户运行仍是不行,而后重启docker,无果,最后再折腾了一下,竟然又能够了。

如今总结一下

先关闭原来的管理员WSL界面,从新开启一个

首先须要进入管理员的WSL,而后直接进入root用户,直接在root用户启动docker,就能够了

linux下支持docker有windows镜像吗 linux运行windows docker_docker_16