目录
-
概要
博客使用Word发博,发布后,排版会出现很多问题,敬请谅解。另外Word发博代码格式显示凌乱,因此相关代码均使用图片替代。可加群(.NET 1群:85318032)获取原始文档。
什么是Docker?Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,以及Windows Server 2016或Windows 10,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
官方博客:http://www.cnblogs.com/codelove/
相关开源库地址:https://github.com/xin-lai
交流QQ群(.NET 1群):85318032
交流QQ群(Magicodes开源库交流群):346487194
Nuget包地址:https://www.nuget.org/packages?q=magicodes
-
主要优势
Docker的主要优势有:
- 启动快
- 便宜——开源,资源占用小,几乎没有性能开销
- 轻量灵活,便于迁移
- 具有一定的隔离性
- 便于构建自动化测试和持续集成环境(CI)以及所有允许横向扩展的应用
- 旨在弹性计算,便于自动横向扩展
其实,核心优势在于便宜而且大大降低了部署的成本(金钱和时间)。
当然,Docker也有一些先天不足,但是这个不是本篇的内容。
- 在Windows Server上部署Docker
Windows Server 2016已经支持Docker技术,官方也给出了资料:
参考此链接大体上不会有问题,但是坑还是有一个大坑。
-
建议优先更新服务器
使用PowerShell运行sconfig,然后选择6,然后输入A下载所有更新
- 安装Docker
打开提升的 PowerShell 会话并运行下列命令:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider
PowerShell 询问是否信任包源"DockerDefault"时,键入 A 以继续进行安装。
这里有一个坑就是,在第二步会提示"docker xx"文件不存在,这里需要记住文件名,然后从以下地址去下载:https://dockermsft.blob.core.windows.net/dockercontainer
比如提示" docker-17-03-1-ee.zip"不存在,则访问 https://dockermsft.blob.core.windows.net/dockercontainer/docker-17-03-1-ee.zip进行下载。
下载完成之后,再执行命令:Install-Package -Name docker -ProviderName DockerMsftProvider
在执行过程中(切记是执行后,如果在执行前复制,程序会先删除然后再处理),打开目录" C:\Users\Administrator\AppData\Local\Temp\2\DockerMsftProvider",将docker-17-03-1-ee.zip复制到此目录下,此时你应该看到该目录有个xx.tmp的临时文件。
-
重启计算机。安装完成后,重启计算机。
Restart-Computer -Force
-
安装 Windows 更新
sconfig
-
验证
输入 docker version
至此,Docker安装完成。接下来,你可以下载一些Docker文件来玩一玩了,比如执行:docker run microsoft/dotnet-samples:dotnetapp-nanoserver
这个例子会自动下载Docker文件并运行,但是下载速度奇慢无比,希望你的可以下载成功。
接下来的入门,可以参考此文:
https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/quick-start-images
建议大家看教程结合官方文档来看,原汁原味,虽然有时会有坑,但是至少比较官方和中立,不会带歪了。