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

[经验分享] windows container (docker) 容器资料笔记

[复制链接]

尚未签到

发表于 2017-6-21 21:33:32 | 显示全部楼层 |阅读模式
  背景
  业务需求:简化公司私有云,公有云的部署,尝试寻找更好的,更优化的技术方案替换现有的虚拟机部署方案。
  技术背景: .net
  Docker 学习资料
  Docker中文社区: http://www.docker.org.cn
  微软docker文章:http://ruby-china.org/topics/27156
  微软docker官方文档: https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/manage-docker/configure-docker-daemon
  Windows container部署还要学习下powershell (百度下学习资料)
  Windows container Docker 案例
  携程.net 容器案例: https://segmentfault.com/a/1190000008169749
  (.net 案例真的很少很少)
  携程案例:http://geek.csdn.net/news/detail/64295
  Docker 应用案例: http://www.docker.org.cn/docker/122.html
  除了以上的案例外,自然还有非常多案例,但是基本都是java的!
  Docker 常用命令
  参考资料:http://blog.csdn.net/zhang__jiayu/article/details/42611469
  (可百度搜索更多)
  容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause]
  容器操作运维 — docker [ps|inspect|top|attach|events|logs|wait|export|port]
  容器rootfs命令 — docker [commit|cp|diff]
  镜像仓库 — docker [login|pull|push|search]
  本地镜像管理 — docker [images|rmi|tag|build|history|save|import]
  其他命令 — docker [info|version]

  Windows container (Docker) 安装
  参考文章: http://www.bubuko.com/infodetail-1765950.html
  微软文章: https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/manage-docker/configure-docker-daemon
  1、安装Container Feature,容器功能角色
  可以使用UI,当然也可以用PowerShell:
  Install-WindowsFeature containers
  Restart-Computer -Force
  由于容器本身可以跑在物理机或者虚拟机中,可以顺便把Hyper-V也装了。
  2、安装Docker
  可以很炫的用PowerShell来拉取Docker引擎:
  Invoke-WebRequest "https://get.docker.com/builds/Windows/x86_64/docker-1.12.1.zip" -OutFile "$env:TEMP\docker-1.12.1.zip" –UseBasicParsing
  默认解压到C:\Program Files\Docker
  Expand-Archive -Path "$env:TEMP\docker-1.12.1.zip" -DestinationPath $env:ProgramFiles
  当然,你手动用浏览器什么的https://get.docker.com/builds/Windows/x86_64/docker-1.12.1.zip 下载了自己解压也是没问题的。
  然后要配置路径的环境变量:
  如果是临时测试,可以用:
  $env:path += ";c:\program files\docker"
  马上就可以继续后续的PowerShell命令。
  如果以后还要用,那就:
  [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Docker", [EnvironmentVariableTarget]::Machine)
  重新打开PowerShell。
  当然,也可以用传统的CMD Set Path=。。。。来配置。
  接下来就要注册Docker Deamon服务了,然后启动docker服务。
  dockerd --register-service
  Start-Service docker
  Windows container Docker 镜像安装
  .net(或者说windows) 下面可选择的基础镜像容器操作系统: windows server core 和 nanoserver
  Linux等其他平台的镜像比较多
  参考: https://hub.docker.com/explore/
  而Windows 镜像其实不多
  参考:https://hub.docker.com/r/microsoft/
  阿里云的镜像服务(国内下载快一些):https://dev.aliyun.com/
  来源网上的文章描述:
  很多朋友都问过这个问题:我是不是可以在Windows容器服务中运行Linux应用,或者反过来。Docker很厉害,但还木有辣么厉害。你无法在Windows上直接运行Linux进程,同样你也无法在Windows Container中运行Linux进程。这个情况对于以上提到的2中运行时都适用,无论哪种运行时模型,底层操作系统都是Windows,所以你无法运行Linux进程。
这同样意味着,当前Docker Hub上面的大量镜像无法在Windows Container 中使用。微软已经开始在Docker Hub上提供Windows容器镜像,你可以使用同样的docker pull命令或者去这些镜像。比如:microsoft/windowservercore 镜像是一个完整的服务器镜像(大概3G大小),在这个镜像中你可以使用标准的msi安装包,通过Dockerfile来构建你自己镜像,可以安装和运行完整的.net framework和其他的Windows应用程序。microsoft/nanoserver 镜像则是一个精简版的操作系统镜像(大概300M),不提供msi支持,只能运行.net core应用,同时需要使用powershell进行管理。

  Windows container Docker 镜像制作
  Windows 镜像其实不多,这些可以用来做基础的镜像
  参考:https://hub.docker.com/r/microsoft/
  阿里云的镜像服务:https://dev.aliyun.com/
  Dockfile 镜像制作(建议百度获取更多)
  http://www.iyunv.net/article/105333.htm
  https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/manage-docker/manage-windows-dockerfile
  微软制作的一些镜像的脚本
  https://github.com/Microsoft/Virtualization-Documentation
  网上参考的镜像制作的文章
  Node.js镜像 http://chuansong.me/n/509677751556
  DoNet Core 镜像 http://www.cnblogs.com/ylsforever/p/5736227.html
  Docker 私有仓库建设
  微软的仓库或者阿里云的仓库下载docker速度依然是慢,慢,慢。必须要自建仓库!
  貌似网上没有windows 的docker搭建私有仓库的例子!貌似有ubuntu, 具体百度吧!
  Docker 编排
  参考文章:http://www.alauda.cn/2015/09/14/containers-docker-windows-and-trends/
  容器编排比较: http://www.infoq.com/cn/news/2017/02/compare-container-orchestration
  容器编排比较2:http://www.d1net.com/cloud/news/382913.html
  携程.net 容器案例: https://segmentfault.com/a/1190000008169749
  携程的案例:Mesos和Kubernetes (似乎涉及代码的改造)
  Swarm据说支持windows docker。
  微软官方貌似没有 windows container 容器编排的工具支持。
  总结
  总体windows container的技术发展尚处于前期,很多的资料和工具尚且没有配套的解决方案(整体部署颠覆原有windows的部署方式,需要采用powershell工具),没有成熟的企业商用案例分享,甚至windows server core和nanoserver 的基础镜像都要下载个大半天(镜像生态似乎只有微软的贡献,没有第三方提交),甚至经常断线(国内也没有私有镜像服务)。
  Nanoserver 基础镜像 比较适合.net core的方式部署。(大约200-300M)
  Windowservercore 基础镜像 比较适合 windows 旧的应用程序。(大约2-4G)
  相反linux docker容器发展相对成熟很多,具体应用案例证明这些(百度下一些大公司的分享),上手更加容易(本身linux 常用shell脚本部署的),围绕linux的容器生态(编排工具,解决方案等),更贴合作为linux开发运维的部署的简化和完善补充。
  虽然windows container 目前还不成熟,但是相信windows container的会继续发展,我们依旧要持续保持关注,以便未来能够真正落地,应用到公司的项目中简化运维部署。
  

  另外: 目前本人windows 上面也没有成功运行过docker,因为微软镜像下载真的很慢很慢,而且很不稳定。(也许是公司网络原因)
  欢迎有windows docker 经验的人员留言交流,tks!!!

运维网声明 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-386574-1-1.html 上篇帖子: 前台界面(1)---HTML基本定义及常见标签 下篇帖子: (0)写给Web初学者的教案-----Web基础
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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