docker-windows随笔资料整理

背景

业务需求:优化机器学习,IOT边缘计算性能,替换现有的虚拟机部署方案。

技术背景: .netcore python

 

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

携程案例:http://geek.csdn.net/news/detail/64295

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

 

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.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 镜像 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 容器编排的工具支持。

 

总结

Nanoserver 基础镜像 比较适合.net core的方式部署。(大约200-300M)

Windowservercore 基础镜像 比较适合 windows 旧的应用程序。(大约2-4G)

 

相反linux docker容器发展相对成熟很多,具体应用案例证明这些(百度下一些大公司的分享),上手更加容易(本身linux 常用shell脚本部署的),围绕linux的容器生态(编排工具,解决方案等),更贴合作为linux开发运维的部署的简化和完善补充。

 

转载于:https://www.cnblogs.com/hank-hu/p/9656806.html

### 回答1: Docker Compose Windows x86_64是运行在Windows操作系统上的、基于x86_64架构的Docker Compose工具。它的主要作用是简化和自动化多个Docker容器的管理和部署过程。 与Docker Compose的Linux版本相比,Docker Compose Windows x86_64提供了更好的兼容性和性能,以满足在Windows环境下使用Docker的需求。 使用Docker Compose Windows x86_64,可以使用一个YAML文件定义多个Docker容器的配置和依赖关系。通过简单的命令行指令,可以执行各种操作,如构建、运行、停止和删除容器等。 Docker Compose Windows x86_64还允许在多个容器之间建立网络连接,以及通过容器之间的环境变量进行通信。这使得容器之间的协作和数据共享变得简单而高效。 Docker Compose Windows x86_64还支持通过Volumes功能将容器与宿主机的文件系统连接在一起,实现数据的持久化存储。 总结来说,Docker Compose Windows x86_64是一个强大的工具,它可以让开发人员在Windows操作系统上轻松管理和部署多个Docker容器,提供了简单、高效和可靠的容器化应用解决方案。无论是在单机环境还是生产环境中,使用Docker Compose Windows x86_64都可以显著提升开发效率和应用性能。 ### 回答2: docker-compose-windows-x86_64是Docker Compose的一个特定版本,适用于Windows操作系统的x86_64架构。Docker Compose是一个用于定义和管理多个Docker容器的工具,它允许我们使用一个简单的配置文件来定义所有容器的配置和依赖关系,并通过一条命令来启动、停止和管理这些容器。 与原始的Docker Compose相比,docker-compose-windows-x86_64专门针对Windows操作系统进行了优化和适配。它提供了对Windows特定功能的支持,例如使用Windows容器、挂载Windows文件共享和运行Windows服务等。此外,它还充分利用了x86_64架构的优势,以提供更好的性能和兼容性。 使用docker-compose-windows-x86_64,我们可以轻松地在Windows操作系统上创建复杂的多容器应用程序。我们只需要在配置文件中定义每个容器的镜像、环境变量、端口映射和容器间的依赖关系,然后通过运行一个命令来启动整个应用程序。docker-compose-windows-x86_64会自动下载所需的镜像,并在我们的电脑上创建和管理对应的容器。 总之,docker-compose-windows-x86_64是一个适用于Windows操作系统Docker Compose工具的特定版本。它提供了对Windows特定功能的支持,并通过简单的配置文件和命令来管理多个Docker容器,让我们能够轻松地构建和管理复杂的多容器应用程序。 ### 回答3: docker-compose-windows-x86_64 是针对 Windows 平台的 Docker Compose 的安装包。Docker Compose 是 Docker 官方提供的一个用于定义和运行多个 Docker 容器的工具。通过编写一个 YAML 文件来定义容器之间的关系和依赖性,然后使用 Docker Compose 命令来启动、停止和管理这些容器。 Docker Compose 使得在开发和测试环境中部署多个容器变得更加简单。它能够自动创建和管理容器网络、卷和监控服务等,提供了一个简洁的方式来管理多个容器之间的通信和数据共享。 docker-compose-windows-x86_64 是特定于 Windows 平台x86_64架构的二进制安装文件。它可以在 Windows 10 或更高版本的操作系统上运行,提供了最新版本的 Docker Compose 功能和特性。 要使用 docker-compose-windows-x86_64,你需要首先安装 Docker for Windows,然后将 docker-compose-windows-x86_64 的可执行文件下载到你的计算机上,并添加到系统的 PATH 环境变量中。然后你就可以在命令行或 PowerShell 中运行 `docker-compose` 命令来管理你的容器了。 总而言之,docker-compose-windows-x86_64 是针对 Windows 平台的 Docker Compose 安装包,它提供了方便管理和运行多个 Docker 容器的功能。通过编写简单的 YAML 文件,你可以轻松定义容器之间的关系和依赖性,并使用 Docker Compose 命令来管理这些容器的生命周期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值