Docker【4】Windows系统运行原理——从入门到kubernets(k8s)

实际上docker只能在linux系统下运行,Windows下运行必要要支持Hyper-v( 注:windows专业版本才有这个功能)。安装docker的时候会自动创建一个虚拟的linux系统,后续的其他操作实际上是间接使用这个虚拟系统进行的。


打开hyper-v可以看到docker的默认系统

Docker【4】Windows系统运行原理——从入门到kubernets(k8s)


没错,这个MobyLinuxVM就是docker建立的,可能不同版本的docker名称会不一样。

Docker【4】Windows系统运行原理——从入门到kubernets(k8s)


当然这个系统是无法登录的,没事别折腾他。


Ps. Hyper-v是真强,我一直用的是VMware,效率比这个低太多,特别是windows下的windows系统。推荐大家直接Hyper-v虚拟一套系统自己玩。

升级操作
:docker镜像自己制作,其实就是一些命令行,docker会根据命令自己一条条执行,然后制作镜像。
这些命令都放在一个文件里,文件命名为Dockerfile,  这名称通用,当然可以用别的名称,但是自己做镜像最好用这个。


文件里面就是类似这样的:
From alpine:latest
MAINTAINER syl
CMD echo "Hello Docker!" 


文件保存后到该文件目录下执行:
 docker build -t newimages   
-t是标签的意思,后面跟镜像名,不写image就是空名称,要记得写。


另外:这个命令极为有用,最初刚学的时候我还以为这命令装B的,有的镜像直接pull更好更方便。但实际应用中,很多代码需要自动部署,服务要自动跑起来。这就需要在这个命令里执行啦。


Docker 非主流用法:

docker扩展:
https://github.com/mviereck/x11docker
这是一个支持图形界面的docker,具体的自己YY吧。用docker看小片的时代马上要到来了。


好了,请打开上述网页,这里解释下,Dockerfile整体语法是命令+语句
From是指基于什么,一般是个操作系统,比如From  ubuntu:latest  就是基于ubuntu现在的最新版本,其他的还有centos debain microsoft/nanoserver  microsoft/dotnet 没错,还有微软的。注意,如果用的微软,那CMD后面就是 ["powershell.exe","命令"]
CMD是指命令,比如apt-get install -y ningx 


alpine实际上是一个超小的linux核心,只有几M大。maintainer就是维护者,写上自己的名字。
再下面就是CMD 是指命令echo是linux直接显示字符串的命令。