NetworkController
我尝试使用 Powershell 在 Windows 2016 Server TP4 上的 Docker 容器上安装 Windows 功能“ ”。运行“ Add-WindowsFeature NetworkController
”后,我收到以下消息:
“您必须重新启动此服务器才能完成安装过程。”
当我现在再次使用 Get-WindowsFeature 检查(尚未执行任何其他操作)时,它的安装状态为“InstallPending”。
现在我不确定“重新启动此服务器” 100% 是什么意思,但我想这意味着我应该重新启动主机,因为没有其他东西需要重新启动(并且容器本身只是一个容器,而不是像 Hyper-V 方法那样的 VM)。
因此我尝试了以下方法:
方法(1)
我使用 停止 docker 容器docker stop iisdemo
,然后重新启动主机(我的 Windows 2016 服务器),然后使用 重新启动 docker 容器docker start iisdemo
。
但是当我检查网络控制器时,它仍然没有安装。
方法(2)
在第二次尝试中,我添加了该功能,然后重新启动了 docker 容器没有重新启动 Windows 2016 服务器,只需运行
dock restart iisdemo
。
现在发生了一些奇怪的事情,当我尝试通过检查功能时Get-WindowsFeature *network*
,收集数据的过程在 57% 处停止,并且容器自行存在。
当我再次附加到docker镜像时:
> docker start iisdemo
> docker attach iisdemo
> powershell
> Get-WindowsFeature *network*
我又回到了起点:
方法(3)
另一种第三种方法显然行不通,但我还是尝试了一下,并重新启动了 Windows 2016 服务器/主机,而根本没有停止 docker 容器。不用说,这也行不通(与方法 1 的行为相同,容器在收集数据的 57% 时退出)。
方法 (4)
在容器内运行“ shutdown -r -f -t 10
”也无济于事。重启后,NetworkController
仍然没有安装。
注意:我尝试使用 Docker 容器和 Windows 容器(通过 Powershell 命令创建和管理),但没有什么区别。
答案1
Neil Peterson vom Microsoft 在 Twitter 上回复了我这个问题,似乎是个 bug:https://twitter.com/nepeters/status/705451007233257472?cn=cmVwbHk%3D&refsrc=email