Windows Server 2016 安装 Docker的过程及遇到问题

 更新时间:2021年09月26日 10:38:17   作者:zuozewei  
若要在 Windows Server 上安装 Docker,可以使用由 Microsoft 发布的 OneGet 提供程序 PowerShell 模块,接下来通过本文给大家介绍Windows Server 2016 安装 Docker的过程及遇到问题,一起看看吧

必备条件

若要在 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

到此这篇关于Windows Server 2016 安装 Docker的文章就介绍到这了,更多相关Windows Server 2016 安装 Docker内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker部署Ragflow(完美解决502 bad gateway)

    Docker部署Ragflow(完美解决502 bad gateway)

    本文主要介绍了Docker部署Ragflow,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • Docker从零开始学习之Commit提交命令

    Docker从零开始学习之Commit提交命令

    docker commit命令是用于根据docker容器的改变创建一个新的docker镜像,下面这篇文章主要给大家介绍了关于Docker从零开始学习之Commit提交命令的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • 如何查看docker容器的内存占用

    如何查看docker容器的内存占用

    这篇文章主要介绍了如何查看docker容器的内存占用问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Docker部署rabbitmq遇到的两个问题

    Docker部署rabbitmq遇到的两个问题

    当使用docker部署rabbitmq时遇到两个问题,访问交换机时报错,另一种是访问channel时报错,本文给大家分享解决方案,感兴趣的朋友跟随小编一起看看吧
    2021-07-07
  • 基于Docker版本squid搭建代理服务器的过程详解

    基于Docker版本squid搭建代理服务器的过程详解

    这篇文章主要介绍了基于Docker版本squid搭建代理服务器的配置方法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下本文给大家介绍的非常详细
    2024-03-03
  • Docker容器间通信之BIP使用及配置方式

    Docker容器间通信之BIP使用及配置方式

    Docker使用桥接网络(BridgeNetwork)和BIP(BridgeIP)来管理容器之间的网络通信,默认情况下,Docker会自动创建一个名为bridge的虚拟网络接口,并为每个容器分配一个独立的IP地址,在/etc/docker/daemon.json文件中可以进行自定义配置
    2025-01-01
  • 从零搭建docker私有仓库的步骤

    从零搭建docker私有仓库的步骤

    这篇文章主要介绍了从零搭建docker私有仓库的步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • docker如何打包前端并运行完整步骤详解

    docker如何打包前端并运行完整步骤详解

    这篇文章主要介绍了使用Vue3和Vite1开发前端项目的过程,包括项目启动、开发服务器运行、构建生产环境以及使用Docker部署,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-01-01
  • Docker Swarm 服务编排之命令详解

    Docker Swarm 服务编排之命令详解

    在Docker Swarm集群中,使用stack服务编排搭建lnmp来部署WordPress非常的方便,今天小编重点给大家介绍Docker Swarm 服务编排之命令详解,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • Docker镜像拉取报错:Error response from daemon: Get https://registry-1.docker.io/v2/的问题解决

    Docker镜像拉取报错:Error response from daemon: 

    这篇文章主要介绍了Docker镜像拉取报错:Error response from daemon: Get https://registry-1.docker.io/v2/的问题解决,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07

最新评论