Windows Server2016 安装docker 所踩的坑

2023年8月21日 23:35

【献给小白用户】

首先参考官网文档:

https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/deploy-containers/deploy-containers-on-server

https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server

windows server2016 需要用PowerShell来安装Docker,那么PowerShell是什么,在哪里打开?首先PowerShell不是命令提示符,也不是命令提示符(管理员)。

1、打开PowerShell(windows server2016默认是已安装的,如果没有,请从服务器管理员中进行安装)

介绍两种打开方法:

a、打开PowerShell最简单的方法是,在开始菜单里找到并打开它(最好是以管理员的身份运行),如:

b、打开命令提示符,输入PowerShell,打开,或者运行里输入PowerShell命令。

2、安装Docker

a、从PowerShell 库安装 Docker-Microsoft PackageManagement 提供程序。

运行命令,安装DockerMsftProvider

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

这一步,可能会提示你安装NuGet,那么请按"y",选择安装。

此处可能会遇到的坑一:

执行Install-Module -Name DockerMsftProvider -Repository PSGallery -Force 命令时,提示你安装NuGet provider,选择“y”以后,又告知https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409找不到安装包,如下图:

需要使用 NuGet 提供程序来继续操作 PowerShellGet 需要使用 NuGet 提供程序"2.8.5.201"或更高版本来与基于 NuGet 的存储库交互。必须在"C:\Program Files\PackageManagement\ProviderAssemblies"或"C:\Users\Fan Dean\AppData\Local\PackageManagement\ProviderAssemblies"中提供 NuGet 提供程序。也可以通过运行 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force' 安装 NuGet 提供程序。是否要让 PowerShellGet  立即安装并导入 NuGet 提供程序? [Y] 是(Y)  [N] 否(N)  [S] 暂停(S)  [?] 帮助 (默认值为"Y"): 警告: 无法下载可用提供程序列表。请检查 Internet 连接。 PackageManagement\Install-PackageProvider : 找不到提供程序"NuGet"的指定搜索条件的匹配项。程序包提供程序要求 "Pac kageManagement" 和 "Provider" 标记。请检查指定的程序包是否具有标记。 所在位置 C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:7468 字符: 21 ...

对于此问题,主要是由于TLS引起的,需要运行一条命令:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

参考文档:https://jaapwesselius.com/2020/04/08/install-module-msonline-fails-with-unable-to-download-from-uri/

然后,再次安装NuGet provider就可以了。

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force

此坑的总体解决方式如下:

PS C:\Users\Administrator> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12PS C:\Users\Administrator> Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -ForceName                           Version          Source           Summary----                           -------          ------           -------nuget                          2.8.5.208        https://onege... NuGet provider for the OneGet meta-package managerPS C:\Users\Administrator> Install-Module posh-ssh

此处可能会遇到的坑二:

安装了NuGet provider后,重新执行命令 Install-Module -Name DockerMsftProvider -Repository PSGallery -Force,会发现还是安装不了,如下图:

这是当前选择的仓库不能使用,即 -Repository PSGallery 参数。

我的解决方式是,不使用此参数,直接执行:Install-Module -Name DockerMsftProvider -Force

Install-Module -Name DockerMsftProvider -Force

b、使用 PackageManagement PowerShell 模块安装最新版本的 Docker。

Install-Package -Name docker -ProviderName DockerMsftProvider -Force

PowerShell 询问是否信任包源“DockerDefault”时,键入A以继续进行安装。

第二步可能遇到的坑:找不到路径(此坑有参考别的网站)

这是什么鬼,怎么会出错啊!静下心来看看错误Install-Package : 找不到路径“C:\Users\ADMINI~1\AppData\Local\Temp\DockerMsftProvider\Docker-1-12-2-cs2-ws-beta.zip”,

那我们就打开这个地址去看看结果发现:

打开这个json 文件我们打开看看

看到这个我明白了,原来是没有下载下来这个包那么我们手动下载吧,

https://dockermsft.blob.core.windows.net/dockercontainer/docker-1-12-2-cs2-ws-beta.zip

"url": "https://dockermsft.blob.core.windows.net/dockercontainer/docker-17-06-2-ee-13.zip", 直接下载到本地。

然后我们把包放到C:\Users\ADMINI~1\AppData\Local\Temp\DockerMsftProvider目录下然后,再运行以下命令

Find-Package –roviderName DockerMsftProvider | Install-Package -Verbose

看到提示后我们在输入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的临时文件。

③、执行一下命令:Find-Package –roviderName DockerMsftProvider | Install-Package -Verbose

c、在安装完成后,请重启计算机。

Restart-Computer -Force

d、开启Docker服务

Start-Service Docker

安装完成,主要的坑都在第一步。


参考文章:https://blog.csdn.net/xuefuruanjian/article/details/115169381

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,在此表示感谢。

特别提醒:

1、请用户自行保存原始数据,为确保安全网站使用完即被永久销毁,如何人将无法再次获取。

2、如果上次文件较大或者涉及到复杂运算的数据,可能需要一定的时间,请耐心等待一会。

3、请按照用户协议文明上网,如果发现用户存在恶意行为,包括但不限于发布不合适言论妄图

     获取用户隐私信息等行为,网站将根据掌握的情况对用户进行限制部分行为、永久封号等处罚。

4、如果文件下载失败可能是弹出窗口被浏览器拦截,点击允许弹出即可,一般在网址栏位置设置

5、欢迎将网站推荐给其他人,网站持续更新更多功能敬请期待,收藏网站高效办公不迷路。

      



登录后回复

共有0条评论