纸上得来终觉浅,绝知此事要躬行。掌握一个技术最好的方式是先了解它,然后再使用它,本文主要讲Docker在Windows10下的两种容器和两种运行方式。
1、安装
win7、win8 等需要利用 docker toolbox 来安装,Win10 专业版和教育版有专门的安装包Docker Desktop for Windows.这里只介绍一下Win10。
(1)首先需要开启Hyper-V
最好同时开启WSL(Windows Subsystem for Linux)感觉这个英文有点怪怪的,翻译也有点奇怪,按照我的理解应该是windows下的linux子系统。
(2)直接安装
上面需要重启电脑,重启之后,你直接安装Docker Desktop for Windows就行了,这个你直接去官网下载就行了。
(3)什么是Hyper-V和WSL2
Hyper-V很好理解,它约等于VMWARE,就是个虚拟机软件,所以在这里安装虚拟机就不用再去下载VMWARE了。
有一点不同的是,虚拟化之后,我们的Win10也变成了虚拟机,和你安装的其他虚拟机是兄弟关系(主系统作为兄长),而不是之前的父子关系。
WSL是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。WSL提供了一个微软开发的Linux兼容内核接口(不包含Linux代码),来自Ubuntu的用户模式二进制文件在其上运行。
这段有点拗口,其实说白了,你可以同时运行ubuntu和windows的支持程序,注意他也不是虚拟机,你还是需要自己去安装ubuntu的。它其实也是依赖于Hype-V。wsl和wsl2这里可以当做没区别,升级而已。
注意我们运行docker并一定要自己安装ubuntu,这不是必须的,至于为什么后面讲。
2、两种容器
安装好之后,右键右下角的鲸鱼图标,有设置。看下图,目前显示“切换到Windows容器“,切换之后显示”切换到linux容器“。
Docker最初是运行在linux上的,用来快速的部署运行系统。微软也希望引入这种方式,于是有了Windows容器。所以使用何种容器取决于我们将来的运行环境。而不取决于我们现在使用的Windows10系统。
其实现在还都是使用Linux容器的,所以只讨论这个。既然是linux容器那么一定要基于linux系统。
3、两种运行方式
这是本文最重要的概念。
Use the WSL 2 based engin(使用基于WSL 2的引擎)是否勾选!
(1)基于WSL2
在安装好之后,默认是勾选的。热爱思考的同学可能会有一个疑问,前面刚说完wsl2并不是虚拟机,而docker运行一定要基于linux系统,那系统在哪呢?
别急!!!打开命令行,输入命令 wsl -l -v
可以看到两条数据(先忽略第三条,是我自己后装的)
docker-desktop
docker-desktop-data
这其实是两个发行版( distro ),这是Docker Desktop for Window创建的因此我们可以运行Docker。前面的那个*号表示默认发行版,对应下图的复选框。
可以修改默认发行版,如下图。如果我们自己在应用商店安装了Ubuntu之后也会体现出来,不过从运行的角度来说是没什么区别的。
(2) Hyper-V方式(不基于WSL2)
当基于这个这个方式运行Docker,Docker Desktop for Window也给我们创建了一个虚拟机DockerDesktopVM
打开Hyper-V管理器,可以看到。
这两种方式都可以运行,正常使用其实也没啥区别,都可以。我推荐基于WSL2的方式,并且自己安装一个Ubuntu发行版来运行Docker,至于为啥以后有机会再说。
转自:百度安全验证