windows10原生可以支持docker虚拟化了。不过需要安装win10教育版或专业版。确保系统支持虚拟化:
确保系统内已启用hyper-V功能:
确保基本条件满足之后。从链接https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe 下载docker for windows install.exe安装文件双击安装即可。
安装完成后,任务栏会出现docker的鲸鱼图标。右键可以展开控制菜单,如下图所示:
默认安装好后,就可以开始使用。试几个命令吧:
1、打开powerShell,注意不能是powerSHell ISE。
2、运行docker --verison 确认docker的执行版本,可以看到我用的是最新的18.09.2版:
3、从docker HUB中拉出hello-world 镜像并运行一个容器,如下图所示,非常方便。本地没有找到hello-world镜像,于是它自动从docker hub拉取镜像并运行:
docker run hello-world
4、刚才docker run运行时下载的镜像到哪儿去了呢?
docker image ls
5、列出 hello-world的容器,很显然我们运行过一次。
docker container ls --all
6、还可以通过运行一些帮助命令来了解更多的docker指令。
docker --help
docker container --help
docker container ls --help
docker run --help
接下来,我们试一下在window下直接启动拉起一个ubuntu linux,并进入到它的bash终端中。
docker run --interactive --tty ubuntu bash
如图所示,就这么简单,我们从docker hub获取了ubuntu的镜像,并运行进入容器的bash命令行。可以敲一下hostname命令,看看主机名
可以看见,主机名被指定为容器ID,并且和正常的bash一样,在命令提示符里也显示着相同的主机名。
如何退出呢?直接在bash中使用exit,即可退出(注意,这样同时也会停止容器)
如图所示,我们回到了命令行下,现在我们列出所有的容器看看。
docker container ls --all
可以从图中清晰的看到,2个容器,均已停止。
要是想启动个webserver呢?拉取 dockerized nginx web服务器镜像,并运行它
docker run --detach --publish 80:80 --name webserver nginx
只要网络是通的,仍然是一如既往的简单。下载之后,随即容器运行。使用浏览器访问本地 http://localhost,就会显示nginx的欢迎页面。注意80是默认的服务端口,如果你映射在其他端口,需要写成 http://localhost:端口 来访问服务。
再列出容器看一下,当然这次不列出所有,只是列出正在运行的容器。
docker container ls
可以看到容器nginx在运行中。名字叫做webserver
之后,使用容器名称停止容器。
docker container stop webserver
最后,我比较喜欢清爽的系统,这种实验过程中的东东,都不留,只把镜像留下,运行的容器没有什么价值,直接删了。
docker container rm webserver reverent_williamson hungry_keldysh
一句之后,整个世界都变得清净了!
最后说一下,windows10自带的hyper-V本身就是一套虚拟机程序,其功能其实和VMware相媲美,只是虚拟的硬盘读写效率比较低,有些慢,最好是把虚拟机的硬盘文件放在固态盘以获得最佳使用效果。整体上,用起来效果还是很不错的。一直以来都希望在windows下轻量级的能够跑起linux。linux的docker跑起来的确是非常爽。