首页 > 系统相关 >windows container (docker) 容器资料笔记

windows container (docker) 容器资料笔记

时间:2023-01-04 17:01:02浏览次数:66  
标签:container windows Windows 镜像 docker com Docker

windows container (docker) 容器技术研究,资料汇总,心得笔记

背景

业务需求:简化公司私有云,公有云的部署,尝试寻找更好的,更优化的技术方案替换现有的虚拟机部署方案。

技术背景: .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 容器案例

(.net 案例真的很少很少)

 

携程案例

Docker 应用案例: ​​http://www.docker.org.cn/docker/122.html​

除了以上的案例外,自然还有非常多案例,但是基本都是java的!

 

Docker 常用命令

参考资料

(可百度搜索更多)

容器生命周期管理 — 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.jb51.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 镜像

 

Docker 私有仓库建设

微软的仓库或者阿里云的仓库下载docker速度依然是慢,慢,慢。必须要自建仓库!

貌似网上没有windows 的docker搭建私有仓库的例子!貌似有ubuntu, 具体百度吧!

 

Docker 编排

容器编排比较

容器编排比较2:​​http://www.d1net.com/cloud/news/382913.html​

携程.net 容器案例

 

携程的案例: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!!!

开源是一种态度,分享是一种精神,学习仍需坚持,进步仍需努力,.net生态圈因你我更加美好。

标签:container,windows,Windows,镜像,docker,com,Docker
From: https://blog.51cto.com/chejiangyi/5988731

相关文章

  • Cygwin:windows下的Linux系统
    Cygwin是啥?Cygwin是一个可原生运行于Windows系统上的POSXI兼容环境。是的,我又开新专辑了​​《零基础swoole学习笔记》​​。不是我太贪心,而是最近半年和小伙伴一直在用swoo......
  • 在UOS下找不到windows用户之前使用的部分字体,如何解决?
    问题描述:windows用户之前使用的部分字体在UOS下找不到,如何解决?解决方法:首先需要说明下,字体通常是有版权的,在安装时需要注意版权问题。1、拷贝字体文件至/usr/share/fon......
  • 本地环境与线上服务Docker的问题
    一、环境相关一般来说,环境最重要,尤其是本地和线上环境的差异。可能会存在线上显卡算力太高,与本地显卡相关框架不匹配;比如:线上显卡:NVIDIAA10,算力8.6,则需要CUDA版本:建议C......
  • Dockerfile发布微服务部署到容器
    Dockerfile发布微服务部署到容器idea里打包jar包编写Dockerfile#基础镜像使用javaFROMjava:8#作者MAINTAINERzzyy#VOLUME指定临时文件目录为/tmp,在主机/var/lib/dock......
  • windows使用/服务(6)Win11 打开 IE 浏览器
    windows11系统使用基于Chromium内核的Edge浏览器,IE浏览器直接被取代,使用以下方案可以调用IE浏览器但是还是兼容不是很好有些基于IE开发的网站的功能依然兼容不友好,需......
  • 如何编码实现Windows下的ping功能
    一、数据结构首先根据IP数据包格式(图下图)定义IP数据包头的数据结构typedefstructtagIPHDR//IP数据包头部{u_charVIHL;//版本号(4)+头长度(4)u_charT......
  • 调整 Windows 11 任务栏位置
    原文链接:如何调整Windows11任务栏位置、对齐方式,及自定义任务栏(sysgeek.cn)将Windows11任务栏调到桌面顶部、左边或右边如果只将任务栏图标「靠左」和「居中」对......
  • Docker网络
    1、docker0当Docker启动时,会自动在主机上创建一个docker0虚拟网桥,实际上是Linux的一个bridge,可以理解为一个软件交换机。它会在挂载到它的网口之间进行转发。......
  • Windows中IIS7设置上传文件大小限制
    IIS7默认文件上传大小时限制30M。要突破这个限制:1.修改IIS的applicationhost.config打开%windir%\system32\inetsrv\config\applicationhost.config找到:<requestFilter......
  • Docker在ubuntu下的安装和使用
    ---------------------------容器安装与验证---------------------------安装参考:https://www.runoob.com/docker/ubuntu-docker-install.html安装是否安装验证:$ sudo ......