想要成为经验丰富的分布式技术人员,那必须熟练服务器的搭建
作为一名贫困的程序员,我没办法购置多台电脑来搭建集群,那么只能使用虚拟化主机软件达成了
首先我将内存加到24G,CPU是Ryzen 1600,有12个线程,省点用可以搭建5-6个服务器了
调查了各种虚拟化方案,最后还是选用了docker
docker的优点是性能好,各大公司都在使用,是运维人员必须掌握的门技能
缺点也很明显,cpu跟内存是没上限设置的
docker作为目前最流行的虚拟化容器技术,作为架构师而言也是必备的技能
docker的容器多数是运行linux下,其对linux支持最好,docker在Windows上一直都是运行在虚拟机中
幸运的是,微软最近也开始支持docker,不过用的不是同一套虚拟化技术,是微软自己开发的一套技术,目前已经集成到Docker for Windows中
运行在Windows上的docker有两种Daemon方式,一种是Windows,另外一种是Linux
目前Windows系统镜像只能运行在Windows Daemon中,镜像的授权是使用Host主机的授权,不需要另外购买
Linux Daemon对Linux镜像支持更好,启动速度非常快,2s就可以启动完成一个站点
Windows系统镜像有两种,NanoServer和WindowsServerCore,启动速度基本在20s左右
选择WindowsServerCore镜像可以获得正常的WindowsServer体验
NanoServer则有更快的启动速度,更少磁盘占用,补丁文件也减少90%,但是只能在Azure上运行
Docker for Windows安装:
https://download.docker.com/win/edge/Docker%20for%20Windows%20Installer.exe
由于Linux Daemon性能更好,我已经安装了Hyper-V,Linux Daemon运行在Hyper-V中
切换到Linux Daemon,打开powershell,输入:
docker run --rm -it -p 8000:80 microsoft/dotnet-samples:aspnetapp
此时有可能出现HNS failed with error,关闭Hyper-v中nat重启可以解决
此时会自动下载aspnetcore示例镜像,示例镜像是在dotnet镜像上构建的,可以重复利用底层镜像的