Windows 10 的Linux自系统WSL下安装docker
学习django,需要使用docker。但是因为笔记本的内存太低了,只有4G,带不动虚拟机,只好用WSL续命了。
本来想离线安装Docker的

但是一直报错,一开始安装的WSL终端界面已经关掉了,没办法截图了。总是提示在安装docker-ce的时候出错,还提示libltdl7这个出问题了,但libltdl7这个是不能被安装的,一时间安装进行不下去了。
后来就去找Win10 的WSL下安装docker的办法了
在知乎找到一篇:https://zhuanlan.zhihu.com/p/39187620
下面是我按照这个流程来进行安装的过程
sudo apt update
sudo apt-get install docker.io

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

docker就安装好了。
然后启动docker
sudo service docker start
注意这里需要使用sudo
但是运行测试命令时候运行不了
提示没有这个daemon。没有docker的守护进程。
然后我就按知乎的教程执行了一下
sudo cgroupfs-mount
sudo service docker start

我看漏了这个管理员启动WSL。。所以执行后没有效果。
然后我就去找别的解决方案了。。
就找到这个博客了
https://blog.csdn.net/qq_42114918/article/details/81840335
按照这个博客的思路,
systemctl daemon-reload
systemctl restart docker.service
执行了这个命令,但是系统提示没有这个。然后也按照博主的思路去安装了daemon,安装上了,我的系统还真没有daemon?。。。好吧

继续启动docker的测试, 无果。
然后又去知乎那篇文里看了
然后就找到这个
管理员模式启动
然后测试,还是不行
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自带的可以截图。。。
一开始还是不行,然后我就重启了一下docker服务,在用sudo docker run hello-world就可以了。估计是刚刚进行了什么操作没有重启,又或者是普通WSL用户没有权限,这个就不得而知了。
WSL的性能还是堪忧啊。
最终docker测试命令启动成功,看到第一行输出为“Hello …”就可以了。
终于可以了。
WSL的普通用户也可以运行docker的测试了,但是估计也要使用管理员模式启动WSL的终端才行。
关机后再次启动docker
关机之后再次启动docker,还是出现daemon的报错
早上又折腾了一下。
开了个管理员的WSL终端,进入root用户运行还是不行,然后重启docker,无果,最后再折腾了一下,居然又可以了。
现在总结一下
先关闭原来的管理员WSL界面,重新开启一个
首先需要进入管理员的WSL,然后直接进入root用户,直接在root用户启动docker,就可以了
