https://www.baidu.com/link?url=61Kwadwh6h__2Vmjf7lAKVo1RjhsULAqERcMXYnYzkLKrRVpygwBJVnjultH8zbq&wd=&eqid=8f2ab9fe0000958c000000025a7a66ad

 

这是第二次使用Docker for Windows了。

最近准备研究一下Docker的一些高级特性如Swarm Clusters,需要用到docker-machine,docker-machine目前仅支持Mac 或 Windows,由于没有Mac所以需要在Windows上运行Docker。官方声称Docker for Windows是一个在Windows系统中创建容器化App的完整开发平台。看完这篇文章,或许你会对Docker和Windows有重新的认识,一改之前对Windows的那些“不好感”。

先放几个截图供查阅:

1.docker 引擎信息

2.容器基本操作

3.容器镜像基本操作:

Docker for Windows运行环境要求:

1.当前Docker for Windows版本需要64位Windows 10 Pro、Enterprise或Education(1511 November update, Build 10586 or later)系统,后续版本可能会支持更多Windows 10,Windows Server 2016同样被支持

2.必须启用CPU虚拟化和Hyper-V功能,Hyper-V角色可以在Docker for Windows安装过程中自动安装,可能会重启Windows,一旦安装Docker for Windows,将无法再使用VMware虚拟化产品以及其他虚拟化产品,如无法再使用VMware Workstation和Virtualbox等

Docker for Windows一些基本知识:

Docker for Windows运行原理远比现有了解的复杂的多得多,只是简单描述一些已经获得的知识:

1.Docker for Windows的组成部分有多个,不仅包含Windows平台上的一些bin程序供用户使用,也包含了一个基于Hyper-V的虚拟机,虚拟机采用Alpine Linux v3.5操作系统

2.docker volume create指令创建出的数据卷存在在虚拟机中,不易与主机进行交互(Hyper-V虚拟机运行期间无法将磁盘中的数据暴露到主机上),因此数据卷这个功能或许会被-v选项所替代

3.Docker for Windows与PowerShell联用,通过PowerShell来操作docker行为,当然cmd也可以

4.Docker for Windows支持两种容器,Linux container和Windows Container,默认是Linux container,依赖于运行在Hyper-V中的虚拟机。Windows Container并不依赖于虚拟机,但也同样依赖于Hyper-V。两种模式的切换会导致重启Windows,而且显而易见的两种模式下的数据并不共享,它们的配置和数据都是独立存在的。令人意外的是Windows container无法运行依赖Linux环境的容器,如nginx等。

Docker for Windows使用小技巧:

与Linux平台上安装的docker环境基本一样,Docker for Windows同样支持一些共有的特性:

1.配置不安全的registry地址和registry镜像(加速)地址

2.支持数据卷和主机存储路径映射(-v选项),数据卷的支持在Docker for Windows中用起来不方便(参考上文的基本知识),推荐使用-v选项

3.在使用-v选项之前,个人建议在磁盘管理中创建一个vhd虚拟磁盘挂载到主机,比如标记成E盘,然后将这个虚拟磁盘共享给Docker for Windows:

需要注意的是,重启后vhd虚拟磁盘将会不再挂载,需要手动"附加vhd"。

借助Docker for Windows做几件有意思的事儿:

1.重新定义app,将运行在Linux上的app,原生的“放到”Windows中,轻松获得心理上的“原生感”

2.操作容器简单化,不再需要打开VMware等虚拟化产品也不需要再使用端口映射,启动Linux再启动容器这样麻烦,只需要双击运行Docker for Windows,即可使用,外部访问轻松配置

3.开始玩转docker-machine和Swarm Clusters等

开始安装吧!因为一点也不难!

参考链接:

开始使用Docker for Windows https://docs.docker.com/docker-for-windows/

安装Docker for Windows https://docs.docker.com/docker-for-windows/install/

tag:Docker for Windows

--end--

使用Docker for Windows初体验的更多相关文章

  1. 老司机实战Windows Server Docker:1 初体验之各种填坑

    前言 Windows Server 2016正式版发布已经有近半年时间了,除了看到携程的同学分享了一些Windows Server Docker的实践经验,网上比较深入的资料,不管是中文或英文的,都还 ...

  2. Docker学习<一>--初体验Windows环境下安装

    背景 今天想试用spring boot与jwt协议的实现,配套就需要使用redis,但redis似乎windows环境版本部署起来不是那么舒心,果断尝试使用docker. 下载 下载地址: 稳定版:h ...

  3. docker安装mongo初体验

    1.docker安装在此不做介绍,请自行百度:个人环境是在windows下运行cmd执行docker命令2.打算在docker下安装使用mongo,顺带熟悉docker,拉开篇章3.docker下安装 ...

  4. Docker(1):初体验之应用挂载到容器

    需在安装docker的机器上运行,本文机器环境为Win10,目录可根据实际自行修改. 1.首先创建一个目录:D:\docker\ROOT\WEB-INF 2.在D:\docker\ROOT\WEB-I ...

  5. SDDC的Windows初体验-QT篇

    前言 如果熟悉爱智和看过我之前文章的朋友见到这篇文章一定会有很大疑问,SDDC 作为智能设备发现控制协议,怎么会用在 windows 上? 这一切还是源自于我巨大的脑洞,因为这段在搞 Windows ...

  6. Docker在Windows上的初体验

    作为Docker的初学者,我有几个疑问,找到了答案,并实践了一下,希望对和我一样的初学者有帮助: 1.Docker是什么? 大家对虚拟机应该比较熟悉,虚拟机和docker都是为了实现隔离. 虚拟机隔离 ...

  7. Docker初体验

    ## Docker初体验 安装 因为我用的是mac,所以安装很简单,下载dmg下来之后拖拽安装即可完成. 需要注意的就是由于之前的docker是基于linux开发,不支持mac,所以就出现了docke ...

  8. 在Windows环境中开始Docker的学习和体验

    研究docker有一段时间了,当然我主要的使用环境还是在Linux中,确实很方便. 但也有不少朋友希望使用Windows来工作学习,这里介绍一下在Windows中如何快速开始Docker的学习和体验吧 ...

  9. Windows Embedded Compact 7初体验

    Windows Embedded Compact 7初体验 Windows Embedded Compact 7已经出来半年多了,一直没时间搞.最近它又出了Refresh的版本,电脑也换了个1T的硬盘 ...

随机推荐

  1. Day 5-5 绑定方法与非绑定方法

    绑定方法与非绑定方法: 在类内部定义的绑定方法,分两大类: classmehtod是给类用的,即绑定到类,类在使用时会将类本身当做参数传给类方法的第一个参数(即便是对象来调用也会将类当作第一个参数传入 ...

  2. yml中driver-class-name: com.mysql.jdbc.Driver 解析不到的问题

    当在idea中使用springboot的快捷创建方式时,选中了mysql 和jdbc 那么pom文件中会直接有 <dependency> <groupId>mysql</ ...

  3. MVC最全jar包

    <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> & ...

  4. python数学第五天【常用概率分布】

    1. 概率基本公式 思考题: 3. 两点分布 4. 二项分布 推论一: 5.柏松分布 6. 均匀分布 7. 指数分布 8. 正态分布 9.常见分布的总结

  5. build/temp.linux-x86_64-2.7/_openssl.c:493:30: fatal error: openssl/opensslv.h: No such file or directory

    解决:apt-get install libssl-dev apt install python-dev(这个可能和那个错误关系不大)

  6. query中对应的OnSetText和onGetText事件

    今天在看代码的时候遇到一个问题,query中的某个字段和在表中显示的不是一个值,我觉得很奇怪,于是找了很久,才知道为什么,原来是query中的OnSetText和onGetText事件在作怪,经过一番 ...

  7. Lodop打印控件不打印css背景图怎么办

    background:url()这是css背景图,http协议会按异步方式下载背景图,所以很容易等不到下载完毕就开始打印了,故lodop不打印css背景图.Lodop不打印css背景图,但是有其他方法 ...

  8. Lodop打印旋转180度 倒着打

    方法1:打印出来后,直接把纸张倒过来.如果本身是白纸,打印机出纸内容是倒着的,可以打出来后手动倒着把纸张正过来.如果本身不是白纸,需要打印的纸张上有背景,调整进纸方向.(如果是卷纸,卷纸背景是反的,查 ...

  9. Software License Manager

    slmgr -ilc lenovo.xrm-ms slmgr -ipk lenovo-lenovo-lenovo-lenovo-lenovo

  10. C#程序中设置全局代理(Global Proxy)

    1. HttpWebRequest类的Proxy属性,只要设置了该属性就能够使用代理了,如下: 1             //设置代理 2         WebProxy WP = new Web ...