必备条件若要在 Windows Server 上运行容器,需要一台运行 Windows Server(半年频道)、Windows Server 2019 或 Windows Server 2016 的物理服务器或虚拟机。 建议优先更新服务器Windows Server 2016已经支持Docker技术,官方也给出了资料: https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/quick-start-windows-server 参考此链接大体上不会有问题,但是坑还是有一个大坑。 使用 PowerShell 运行 sconfig,然后选择 6,然后输入 A 下载所有更新: 安装 Docker若要在 Windows Server 上安装 Docker,可以使用由 Microsoft 发布的 OneGet 提供程序 PowerShell 模块(称为 DockerMicrosoftProvider)。 此提供程序启用 Windows 中的容器功能,并安装 Docker 引擎和客户端。 以下是操作方法: 打开提升的 PowerShell 会话,从 PowerShell 库安装 Docker-Microsoft PackageManagement 提供程序。 Install-Module -Name DockerMsftProvider -Repository PSGallery -Force 如果系统提示安装 NuGet 提供程序,还请键入 Y 进行安装。 使用 PackageManagement PowerShell 模块安装最新版本的 Docker。 Install-Package -Name docker -ProviderName DockerMsftProvider PowerShell 询问是否信任包源“DockerDefault”时,键入 A 以继续进行安装。 在安装完成后,请重启计算机。 Restart-Computer -Force 如果希望稍后更新 Docker,请执行以下操作: · 使用 Get-Package -Name Docker -ProviderName DockerMsftProvider · 查看已安装的版本 使用 Find-Package -Name Docker -ProviderName · DockerMsftProvider 查找当前版本 准备就绪后,使用 Install-Package -Name Docker · ProviderName DockerMsftProvider -Update -Force 进行升级,随后执行 Start-Service Docker 验证输入 docker version: PS C:\Users\Administrator> docker version Client: Docker Engine - Enterprise Version: 19.03.5 API version: 1.40 Go version: go1.12.12 Git commit: 2ee0c57608 Built: 11/13/2019 08:00:16 OS/Arch: windows/amd64 Experimental: false Server: Docker Engine - Enterprise Engine: Version: 19.03.5 API version: 1.40 (minimum version 1.24) Go version: go1.12.12 Git commit: 2ee0c57608 Built: 11/13/2019 07:58:51 OS/Arch: windows/amd64 Experimental: false 至此,Docker安装完成。接下来,你可以下载一些Docker文件来玩一玩了,比如执行: docker run microsoft/dotnet-samples:dotnetapp-nanoserver 这个例子会自动下载 Docker 文件并运行,但是下载速度奇慢无比,希望你的可以下载成功。 接下来的入门,可以参考此文: https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/quick-start-images 遇到的问题无法使用install-module: PS C:\Users\Administrator> Install-Module -Name DockerMsftProvider -Repository PSGallery -Force Get-PSGalleryApiAvailability : PowerShell 库当前不可用。请稍后再试。 所在位置 C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1711 字符: 9 + Get-PSGalleryApiAvailability -Repository $Repository + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [Get-PSGalleryApiAvailability],InvalidOperationException + FullyQualifiedErrorId : PowerShellGalleryUnavailable,Get-PSGalleryApiAvailability Get-PSGalleryApiAvailability : PowerShell 库当前不可用。请稍后再试。 所在位置 C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:4437 字符: 9 + Get-PSGalleryApiAvailability -Repository $Name + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [Get-PSGalleryApiAvailability],InvalidOperationException + FullyQualifiedErrorId : PowerShellGalleryUnavailable,Get-PSGalleryApiAvailability 解决方法: 以管理员身份打开powershell,依次输入以下命令: $ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $ Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force $ Install-Module posh-ssh 另外,请保证你的机器可以访问互联网。 PS C:\Users\Administrator> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 PS C:\Users\Administrator> Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force Name Version Source Summary ---- ------- ------ ------- nuget 2.8.5.208 https://onege... NuGet provider for the OneGet meta-package manager PS C:\Users\Administrator> Install-Module posh-ssh 参考资料: [1] https://cloud.tencent.com/developer/article/1378641 [2] https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server
|