设为首页 收藏本站
查看: 1170|回复: 0

[经验分享] 初窥Windows Server Container

[复制链接]

尚未签到

发表于 2018-6-12 06:54:09 | 显示全部楼层 |阅读模式
前言
  相信大家对于Docker这项技术都有一定了解了,Container是一种轻量级的解决方案,非常适合将传统windows平台上的无状态服务迁移上去(相对于VM虚拟化更加能够提高整体资源利用率),加上微软的大部分技术架构都是可以整合的,而采用linux下的docker整合起来效果并不是特别好(比如我曾经尝试着用scom监控linux下Container,虽然成功了但是效果并不是很好),所以对于Windows平台的Docker我就更加期待了。今天我就把近一段时间一直零零散散做的一些小demo来做个汇总。 DSC0000.jpg
(图为微软Container示意图)

  在开始之前,先啰嗦几句:
  由于目前Windows Container仍处于TP3阶段(技术预览),所以存在Bug是正常的,以下是官方的原话:
Remember, this is a preview there are bugs and we have a lot of work in progress. This pagecontains many of our known issues.Be aware that there are some known Docker commands thatdon't work and some that only partially work

  简单翻译下,其实就是一句话:“没有Bug才不正常呢”,所以千万别在生产环境试水Windows Container(至少等到发布)
实验部分
  今天这个实验的目录是通过Windows Container创建一个Nginx Container(至于为什么不创建IIS Container,后面有讲述),仅作实验参考。
  

  1、  新建Windows Server Container:
DSC0001.jpg

  2、  输入相关配置信息后创建完成,注意我们这里先映射出8001端口作为测试端口用:
DSC0002.jpg
3、  创建完成后,连接到Docker Host上,使用wget -uri 'http://nginx.org/download/nginx-1.9.3.zip' -OutFile "c:\nginx-1.9.3.zip"获取源码nginx部署包,然后创建Dockerfile,new-item -Type File c:\docker\nginx\dockerfile

DSC0003.jpg
4、  使用Expand-Archive -Path C:\nginx-1.9.3.zip -DestinationPath C:\docker\nginx\source –Force将源码解压到我们创建的目录上,待会儿dockerfile会调用到:

DSC0004.jpg
5、  使用notepad.exe c:\docker\nginx\dockerfile开始编写dockerfile内容:

  FROM windowsservercore
  LABEL Description="nginx For Windows" Vendor="nginx" Version="1.9.3"
  ADD source /nginx
DSC0005.jpg

  6、  然后使用docker build -t nginx_windows C:\docker\nginx开始使用dockerfile创建nginx images:
DSC0006.jpg
7、  接着我们就可以在images中看到我们刚刚创建的image:

DSC0007.jpg
8、 我们就可以使用docker run -it --name VMC-NGC01 -p 8001:80 nginx_windows cmd调用刚刚创建的images去创建Container了,创建后如下:

DSC0008.jpg

  9、  创建完成后是直接会进入Container里面的,在Container下运行cd c:\nginx\nginx-1.9.3进入nginx主目录,并使用start nginx启动服务:

DSC0009.jpg

  10、 接着我们访问下站点页面,由于我们没有创建主页,所以访问为403(可以看到我并没有使用8001),然而我并没有找到好的方法可以修改到nginx.conf这个文件(请见Bug列表):
DSC00010.jpg

关于Windows Container IIS方面的尝试
  1、  在不同平台的Docker上搜索IIS images:
  a、Windows Container下搜索:
DSC00011.jpg
    b、而在Linux Container下搜索IIS是这样的(虽然可能是因为Docker镜像库不同,不过就算修改了Linux上的镜像库,我认为应该不能正常在Linux Docker上进行运行): DSC00012.jpg

  2、 不知道什么原因,部署IIS Container1总是失败的:
  a、使用Images方式创建(在端口映射正确的前提下,虽然成功创建,且Container中的iis服务正常,并且还手动创建了IIS站点并开启,仍然无法访问):
DSC00013.jpg

  b、即使是使用微软GitHub上的DockerFile+PowerShell脚本创建,仍然是有问题的(采用了最新版本的TP3 Container及10月份的最新脚本):
DSC00014.jpg

关于TP版目前存在的疑似Bug
  1、  映射端口无法生效,比如上述例子用了8001映射Container的80端口,然而8001端口并没有生效。
DSC00015.jpg
2、  映射端口并不会出现在docker ps中(可以用Get-NetNatStaticMapping):

DSC00016.jpg
3、  进入部分docker container中运行命令经常出现卡死情况(命令无法跳到下一行),比如打开某些文本文件时:

DSC00017.jpg
4、  目前windows container的Container名字还是大小写敏感的(这点跟linux版无异,不知道算不算bug)

结语
  最近听了台湾的MS专家冯立伟老师关于Windows Container的课后,更加印证了我之前的想法,将来的架构极有可能是
DSC00018.jpg

  当然一切还得等Hyper-V Container出来,让我们一起期待。

  由于最近博主正在为自家公司部署VMCloud Plus版本,所以更新周期变长了,但是,只要发现新奇玩意儿,博主都会不断去实践,即使进度很慢,即使困难很多,也会坚持完成,借此来感谢各位的关注:)
  

  

职场巅峰之路(已更新)

http://mp.weixin.qq.com/s?__biz=MzAxNzIxNDA2OQ==&mid=208028889&idx=1&sn=a6cff33094b29329fd6c364272df66cc&scene=18#rd

VMCloud-OPC

http://vmcloud.com.cn

DSC00019.png
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-522428-1-1.html 上篇帖子: Windows CA 证书服务器配置 下篇帖子: 使用SQL2012报表生成器自定义IT资产报表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表