Windows Server 2019 Core(4)-安装Do
请先以管理员身份打开PowerShell窗口
一台新的服务器,或是没有装过Docker,需要先安装一些Windows功能
(可以通过添加角色与功能界面安装,也可以通过PowerShell安装)
安装Hyper-V
>Install-WindowsFeature -Name Hyper-V
安装容器功能
>Install-WindowsFeature -Name Containers
安装完成后需重启服务器
>Restart-Computer -Force
然后安装Docker,可以选择正式版,也可以选择预览版
正式版
>Install-Module DockerMSFTProvider
提示:不受信任的存储库
(选"Y"确认)
>Install-Package Docker -ProviderName DockerMSFTProvider -Force
(可能会提示包验证错误,安装失败,多试几次即可)
提示:程序来自未标记为"受信任"的程序包源
(选"Y"确认)
安装成功,显示
Name Version Source Summary
---- ------- ------ -------
Docker 18.09.2 DockerDefault Contains Docker EE for use with Windows Server.
如看到以下提示,请重启一次服务器
警告: A restart is required to enable the containers feature. Please restart your machine.
预览版
>Install-Module DockerProvider
提示:需要使用 NuGet 提供程序来继续操作
(选"Y"确认)
提示:不受信任的存储库
(选"Y"确认)
>Install-Package Docker -ProviderName DockerProvider -RequiredVersion preview
提示:程序来自未标记为"受信任"的程序包源
(选"Y"确认)
安装成功,显示:
Name Version Source Summary
---- ------- ------ -------
Docker 17.06.2-ee-19 Docker Docker for Windows Server 2016
设置虚拟机自动激活(AVMA)
可运行的Windows容器数量受宿主服务器授权的影响,标准版上限2个,数据中心版无限制。
宿主机需安装和配置 Microsoft 的 HYPER-V 服务器角色
(在虚拟机中输入以下命令即可,Key为静态值可直接使用)
标准版
>slmgr /ipk TNK62-RXVTB-4P47B-2D623-4GF74
数据中心版
>slmgr /ipk H3RNG-8C32Q-Q8FRX-6TDXV-WMBMW
运行测试
portainer为可通过浏览器使用的docker配置程序
> docker run -d --name portainer --restart always -p 9000:9000 -v \\.\pipe\docker_engine:\\.\pipe\docker_engine portainer/portainer
在浏览器中打开 http://服务器ip:9090,如果能看到页面,则说明所有步骤都成功了
备注
1.切换内核
安装完后,默认为Windows内核容器,可手工切换至Linux内核容器,但个人认为意义并不大,完全可以在服务器上通过Hyper-V管理器安装一个Linux虚拟机,在虚拟机内跑Linux下的Docker,实现同时拥有两种内核的Docker服务,然后再通过Docker自带的Swarm进行统一管理,但混合部署情况下需配置Docker对象标签
,具体配置可查看微软官方文档(Linux+Windows 混合操作系统群集)。
切换到Linux内核容器
>[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")
>Restart-Service Docker
切换到Windows内核容器
>[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", $null, "Machine")
>Restart-Service Docker
2.其它命令
升级Docker
>Update-Module Docker
删除Docker
>Uninstall-Package -Name Docker -ProviderName DockerMSFTProvider
打开防火墙
>New-NetFirewallRule -DisplayName 'Docker SSL Inbound' -Profile @('Domain', 'Public', 'Private') -Direction Inbound -Action Allow -Protocol TCP -LocalPort 2376
3.其它参考
Docker对象标签
创建ActiveDirectory
4.官方镜像地址
- dotnet/core/sdk: .NET Core 编译环境
- dotnet/core/asp.net: ASP.NET Core运行环境
- dotnet/core/runtime: .NET Core程序运行环境
- dotnet/framework/sdk: .NET Framework 编译环境
- dotnet/framework/aspnet: ASP.NET Web Forms 与 MVC 运行环境
- dotnet/framework/runtime: .NET Framework 运行环境
- dotnet/framework/wcf: Windows Communication Framework (WCF)
-
windows/iotcore: 针对小型设备进行了优化的Windows 10,可以在 ARM 和 x86/x64 设备上运行。
-
windows/nanoserver: 自 Windows Server 版本 1709 开始,Nano作为所有Server基础镜像,不推荐直接使用(官方说明)
-
windows/servercore: 无桌面体验的基础服务器镜像,可用于创建Hyper-V、AD、DNS、路由、文件及打印等服务(官方说明)
-
windows/server/iis: 基于Windows Server Core的 IIS 服务器镜像
-
linux/server/mssql: Linux版的SQL Server 数据库
不知道为什么Windows版的SQL Server镜像两年没更新了,可能微软自己都已经放弃了吧....
-
linux/mysql/tools Linux版的SQL Server命令行工具