深入剖析Windows专业版安装Docker引擎和Windows家庭版Docker引擎安装的区别
原创声明:作者:Arnold.zhao 博客园地址:https://www.cnblogs.com/zh94
公司使用的电脑是Windows专业版,所以配置本机的Docker时会方便许多,后续由于需要在家里的个人笔记本上安装下Docker才发现Windows家庭版的安装和Windows专业版的安装竟然是有着较大的差异的,所以此处留存做一下相关的记录;
首先先理解Docker
Windows专业版上安装Docker时,本质上是借助于Windows平台的hyper-v技术来创建一个Linux虚拟机,你所输入的所有的命令,都是借助于虚拟机中所部署的Docker引擎(服务端)进行执行的,所有Pull到本地的镜像数据,都是存储到对应的虚拟机目录里面;
而这其实也恰恰符合Docker的作风,毕竟Docker在运行时分为Docker引擎(也就是服务端守护进程)和客户端工具,而我们每次敲下的Docker命令,实际上是通过Docker引擎(服务端)所提供的一组REST API来进行的交互,表面上来看我们是在和本机执行各种docker操作,而实际上一切都是在通过远程调用的方式来实现的;正是基于Docker的这种 C/S架构,Docker才可以在各种系统上无缝的运行,其在Windows上之所以能够运行的原理也是这样的;
Windows本身先虚拟化一个Linux服务器,而Docker引擎的服务端,实际上就是安装于本地的Windows的Linux虚拟机上!而我们每次通过本地的PowerShell或者CMD也好,本质上也只是把所输入的docker 命令,通过https的方式发送到了我们本机的虚拟机上才产生了一系列的交互;
但实际上,Docker引擎服务还是只能运行在Linux上,之所以能在Winidows本机运行,是因为Windows本机也安装了对应的Linux虚拟机程序;所以!这其中Docker是在Windows专业版上运行,还是在Windows家庭版上运行,唯一的区别和变量就是,虚拟机!这也是Windows家庭版和专业版唯一的区别所在了;
由于Windows专业版上具备Hyper-V技术(windows自身的虚拟机技术),所以只要开启对应的Hyper-v后,再进行一系列的安装,便可以在Windows本地使用Docker了;而Windows家庭版是不具备Hyper-V的,所以如果要在家庭版上进行Docker的安装,其首先也需要先部署一个Linux的虚拟机程序才行,那么此处则是:Oracle VM VirtualBox(一款开源的虚拟机软件);
上面所对应的阐述是很重要的哦,除了可以理解windows专业版和家庭版安装的区别,实际上更是对Docker服务引擎进一步的熟悉,因为当你理解了Docker Server和对应的Docker Client的关系后,你会发现,实际上我们后续的各种Docker的操作,Dockerfile,docker build . copy,等都是具备client - server 的思想在里面的;(docker的命令只是客户端!真正的执行则是在Docker的服务端进行的执行)! (^_−)☆
原创声明:作者:Arnold.zhao 博客园地址:https://www.cnblogs.com/zh94
大胆剖析一下Windows版Docker安装的步骤
按照对应的理解:当我们在家庭版上进行docker的安装的时候,对应的安装步骤:
1、先安装 Oracle VM VritualBox
2、再进行 Docker Server引擎的部署至对应的虚拟机中,
3、再进行本地Windows的安装(此时的安装是将对应的Docker命令进行本地Windows的安装)使其CMD,PowerShell也好等客户端,可以识别出对应的Docker命令规范,使其在客户端执行对应的命令时,可以进行对应的识别,并将对应的命令及信息通过https发送到对应的Docker引擎上;
那么我们真正的安装时,真的是这么麻烦吗?当然不是啦,真正安装时,我们只需要下载一个对应的安装包,进行无脑next next finish 就行啦;
那为什么上面还扯这么多呢?第一:是因为明白上述的安装步骤对后续的使用具备很大的指导意义,第二:当你把所对应的安装包安装完以后,你会发现存在对应的三个应用程序,当然啦!因为一个是虚拟机,一个是客户端!一个是GUI啦!所以,在明确上述的整体过程后,实际上对所安装后所出现的应用就不会感觉到陌生了;
Windows Docker家庭版安装包下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ (选择最新的进行下载就好啦,阿里的服务器,应该是在持续的维护当中的)
安装过程中,你可能会出现一些问题,当然,每个人都会在安装的时候出现一些问题,甚至于每个人的问题应该都不一样,不过此处还是推荐一篇文章:如果是第一次安装的话,可以参考下该文章进行解决下对应的Error:https://www.cnblogs.com/jimmyshan-study/p/11161428.html ,我在进行对应的安装的时候,出现的问题和当前博客中所说明的问题还是不太一样的,不过凭借着基本的一些认知,最终还是顺利安装完成了;
安装完成后
安装完成后,一般则是会有三个服务,分别是:Oracle VM VirtualBox,docker-quickstart-terminal,Kitematic.exe,;
docker-quickstart-terminal.就不用说了,这个就是你启动Docker时的应用程序(不过本人此处docker-quickstart-terminal是无效的);
此处重点说明下,对应的Oracle VM VirtualBox 和 Kitematic 应用程序;
Oracle VM VirtualBox
截图如下:

当你正常进行了docker的安装后,以及可以在cmd等控制台可以正常输出docker --version,此时说明你的Docker 服务端引擎是正常运行的状态,如上图所示,可以看到Oracle VM VirtualBox管理器,包含的
第一个虚拟机实例 “default” 是不可以被删除的,因为当前 default 的Linux虚拟机实例,便是进行安装包安装时,直接部署进当前VirtualBox的默认实例,(该Linux虚拟机内所部署的Docker引擎会随着虚拟机的启动而自动启动,所以不用担心无法启动Docker引擎的问题,只要能够保证当前虚拟机实例是启动的即可)
而当我们把当前Linux虚拟机实例进行暂停的时候,则会出现的现象是什么?

此处我们将对应的Docker虚拟机进行暂停,此时再进行 docker 的命令,会发现存在异常提示,异常内容如下:HTTPS://IP:PORT 链接没有响应,此处则充分说明了,当前的Docker引擎的实际使用方式,的确是 Client - Server 通过 REST API进行的交互方式!(^_−)☆;

Kitematic (Alpha)
Kitematic是Docker的一款GUI工具,界面很优雅,用着很舒服,只要简单的点点点,就可以实现容器的自启,pull镜像等基本操作,并且可以进行容器的相关配置等功能,界面很暖,使用起来也是很舒服的,详情如下图所示:

可参考链接:
https://www.cnblogs.com/jimmyshan-study/p/11161428.html
https://www.cnblogs.com/brock0624/p/9792203.html
原创声明:作者:Arnold.zhao 博客园地址:https://www.cnblogs.com/zh94
深入剖析Windows专业版安装Docker引擎和Windows家庭版Docker引擎安装的区别的更多相关文章
- 『开发技术』Docker开发教程(一)安装与测试(Windows 家庭版)
0.前言 针对其他系统和版本,Docker都很容易安装,可以参考官方教程:https://docs.docker.com/docker-hub/ 由于Windows10家庭版无法安装docker,因此 ...
- Docker Desktop for Windows 安装步骤
Docker Desktop for Windows 安装要求 Docker Desktop for Windows需要运行Microsoft Hyper-V.如果需要,Docker Desktop ...
- 温故知新Docker概念及Docker Desktop For Windows v3.1.0安装
Docker 简介 什么是Docker? Docker是一个开放源代码软件项目,项目主要代码在2013年开源于GitHub.它是云服务技术上的一次创新,让应用程序布署在软件容器下的工作可以自动化进行, ...
- Windows server 2016 支持容器 ,安装docker 搭建Ubuntu+hadoop (docker为服务器)
一.Windows server 2016 是肯定要安装的, 关于如何启动容器功能那就是控制面板中增加与删除里面的启用了,很多地方可以百度到 二. 安装Ubuntu hadoop 等 待续 注意: ...
- Docker CE for Windows安装使用
原文:Docker CE for Windows安装使用 官网下载并安装Docker CE for Windows IDEA连接Docker Docker一些常用命令 Docker for windo ...
- Windows下的Linux子系统安装,WSL 2下配置docker
Windows下的Linux子系统安装,WSL 2下配置docker 前提条件: 安装WSL 2需要Windows 10版本是Build 18917或更高,首先先确认系统版本已升级. 在“启用或关闭W ...
- windows下安装linux虚拟机(wsl2),并安装docker。
一.windows terminal(重要工具,但也可以不装) 这是微软官方推荐的终端工具,类似mac的iterm2,可同时开启多个终端,最开始默认有power shall,cmd,可下载gsudo集 ...
- Windows10 家庭版 Docker的安装
Docker的安装 1.简介:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中, 然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全 ...
- 首创诠释docker的Formulas: Windows 7 + Tiny Linux 4.19 + XFS + Vmware Workstation = super machine (docker从零开始时记,Follow me and you go)
不少人从来没有接触过docker,或者仅仅是听说过,本文试图从原点开始深入了解docker的全貌,剖析docker的基础概念,让我们一起开始docker之旅~~~ 开场:什么是docker docke ...
随机推荐
- thinkphp 二级域名绑定模块,导致设置的路由被多域名共用的问题解决方案
问题背景: 在router.php路由配置文件设置了二级域名和路由设置 use think\Route; Route::domain('www','index'); Route::domain('ad ...
- setCascadeOpacityEnabled
setCascadeOpacityEnabled Enable or disable cascade opacity, if cascade enabled, child nodes' opacity ...
- 每天进步一点点------CRC码的FPGA实现
一.CRC码的FPGA实现之一CRC的原理 实验目的 学习用FPGA设计一个数据通信中常用的数据检错模块——循环冗余检验CRC模块,熟悉理解CRC的检错原理. 实验原理 循环冗余检验(CRC)算法原理 ...
- 利用数据结构排序的priority_queue
考虑以下几个问题: 将一个序列排序 某神仙: \(\mathtt{sort}\) !!! 每次取出最前面的两个数 某神仙: \(a_i\) 和 \(a_{i+1}\) 啊!! 相加,再加入序列 某神仙 ...
- GOM引擎脚本 时间段内调整人物属性
功能: 调整人物属性 格式: ChangeHumAbility 属性(1-20) 操作符(+ = -) 效果(1-65535) 时间秒说明: 属性1-12分别对应人物 防御下限 防御上限 魔御下限 魔 ...
- kali&BT5下利用nmap对mysql等数据库渗透与爆破
如今Nmap的脚本引擎从一个普通的端口扫描器转变为具有攻击性的渗透测试工具 .随着nmap各种脚本的存在.到目前为止,我们甚至可以进行完整的SQL数据库渗透而不需要任何其他的工具. 今天就在kali下 ...
- Python反编译调用有道翻译(附完整代码)
网易有道翻译是一款非常优秀的产品,他们的神经网络翻译真的挺无敌.无奈有道客户端实在是太难用了,而且在某些具体场景 (比如对网站进行批量翻译) 无法使用,而有道的云服务又特别的贵,一般人是无法 ...
- 编程道拓扑bcd.top 0x01/ 开局第一篇: 随便聊聊/ 随笔
0x01 开局 编程道拓扑(bcd.top)是一个前端从业者的思考和总结, 如果你喜欢, 欢迎关注! 作者是一个前端从业者, 本系列会总结作者在工作和学习中的一些思考, 会有具体的技术点, 也会有关于 ...
- 抽象工厂模式(JAVA反射)
实例代码(JAVA):模式动机 在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方 ...
- winform中的DataGridView的列宽设置
DataGridView有一个属性AutoSizeColumnMode,他有很多枚举值: 1.AllCells 调整列宽,以适合该列中的所有单元格的内容,包括标题单元格. 2.AllCellsExc ...