Docker在Windows的使用说明

Docker在早期是只专注于Linux虚拟化实现的一种容器技术,因为Linux得天独厚的Namespace 和 CGroup 等系统内隔离机制特性,使得在Linux更易实现,在经过容器技术的疯狂发展推崇之后,微软看到了这一红利,在于2014年宣布与Docker公司合作,将容器技术迁移到Windows上,这一动作让Windows改变了过去,只能通过VM等大型虚拟机软件通过装Linux来装Docker的现状,现在也可以很轻量级的将Docker融入系统中使用了。由于Windows系统和Linux在实现上还是有些差别,尽管我们在Docker上的操作大致相同,仍然需要注意一些事项,下面,我将使用经验列举如下。

系统要求

Windows系统每一个版本的发行都对应众多不同级别的版本,如家庭版,专业版,教育部,企业版,旗舰版等,每个版本都有属于自己的特性,当然越高级越齐全。根据Docker官网介绍,系统要求如下:

系统要求:

  • Windows10 64位:专业版,企业版或者教育版本(1607周年更新,Build 14393或更高版本)
  • 在BIOS中开启虚拟化支持,在Windows中开启高级功能 Hyper-V
  • CPU必须支持虚拟化
  • 至少4GB的运行内存

运行原理

Docker在Windows系统上安装时,Docker会创建一个基于Linux的虚拟机,叫做MobyLinuxVM虚拟机,这个虚拟机是基于Alpine Linux的。Docker应用程序会连接到此虚拟机,你便可以开始创建具有必要操作组件的容器了。为了与本地网络和NAT(网络地址转换)进行通信,在Docker安装中会为虚拟机配置一个子网,以便你的容器在应用程序中使用。不过不必担心,MobyLinuxVM虚拟机是运行在Hyper-V,这是Windows是一项虚拟化技术,相比虚拟机之类的非常轻量级,容器可以共享主机内核,任务管理器里面可以看到对应进程。

安装教程

确保你已经按照上面的 “系统要求” 完成了必备条件,如果你无法满足,你可以尝试使用虚拟机在Windows安装Linux系统来运行,不过这是不被推荐的,意味着你将牺牲更大的硬件资源和更麻烦的操作。

安装教程很简单,下载 Docker Desktop for Windows软件套件即可。

点我直达 Windows中安装Docker官网教程

客户端配置

安装完 Docker Desktop for Windows后,启动,我们在左侧会看到菜单选项,下面将介绍一些注意事项。

General 通用设置

注意配置开机自启,自动更新,是否发送统计数据,开启守护进程远程管理服务

根据你个人意愿开启,没什么特别好说的。

Shared Drives 共享磁盘

启用哪个磁盘驱动,以便你可以在docker run 命令使用 -v选项 进行 磁盘挂载,实现宿主机和你容器数据共享。

例如我勾选了E盘,那么就可以这样使用:

docker run -it -v E:\docker-data:/data debian /bin/bash

Advanced 高级设置

配置Docker使用的系统资源,一般默认即可,如果你需求比较大根据你的实际硬件资源调整

注意的是 选项 Disk image location 磁盘镜像路径,默认是C盘,考虑到后期镜像特别多特别大,占用很大C盘空间,应该更换到其他磁盘路径。

Network 网络

一般默认即可

Proxies 代理

主要是在拉取镜像可以使用代理加速,这里我们改用镜像配置,在下文说明

Daemon 守护进程

主要更改 Registry mirrors 镜像服务地址,因为默认的镜像仓库在美国,中国大陆拉取镜像非常缓慢,可以使用国内镜像加速。常见的加速服务提供商有,网易的镜像中心,daocloud镜像市场,阿里云镜像加速。大家可以根据喜欢,自己选择。

数据共享

在使用共享磁盘驱动后,我们可以通过挂载磁盘到指定的容器中,确实很方便,但是有时候我们需要创建数据卷,使用容器之间数据互通,在Windows上会有个不便之处。通过使用 docker volume create share-data 命令创建数据卷,然后用 docker volume inspece share-data 查看数据卷,发现该数据卷的路径地址是:

/var/lib/docker/volumes/share-data/_data

该命令明显是一个Linux路径,那我们在宿主机上如何访问呢?

根据上文的 运行原理 我们知道,Docker其实运行在一个虚拟机的Linux系统上,这个虚拟机是无法被外界直接访问的,所有其实在Windows是不太推荐使用共享卷的,可以考虑使用 -v选项使用磁盘挂载。那如果你实在想使用数据卷,而且想查看里面的文件,怎么做比较好呢,一个取巧的办法,将该目录挂载到一个容器中

docker run -it -v /var/lib/docker/volumes/share-data/_data:/data debian /bin/bash

这样你在这个新的容器中的/data目录下就可以看到数据卷的文件了,当然我们还可以使用 磁盘共享再挂载一个目录在该容器中 如 share ,那么我们就可以拷贝文件到share目录下,就会磁盘共享中看到,这样也就可以直接宿主机查看了。

容器选择

在Windows上Docker提供了两种不同的容器环境选择,Linux容器(默认)和Windows容器,需要注意的是,大部分场景下选择Linux容器就可以了。那什么时候选择Windows容器呢?

由于Linux和Windows是两套不同的操作系统,二者是不能运行各自的软件的,所以如果你的应用程序考虑只在某个特定平台下运行,你就选择对应的。实际上Linux容器目前来说应该是更加成熟,稳定,推荐使用。

 zsh oh-my-zsh在debian下系统的安装使用教程
Mysql事务级别和Spring事务使用详细介绍总结 
上一篇:zsh oh-my-zsh在debian下系统的安装使用教程
下一篇:Mysql事务级别和Spring事务使用详细介绍总结
评论

如果我的文章对你有帮助,或许可以打赏一下呀!

支付宝
微信
QQ