docker 环境中的 powershell 在 Azure Windows VM 上挂起

问题描述 投票:0回答:1

在 Azure Windows VM 上运行以下命令

docker run -it mcr.microsoft.com/dotnet/framework/sdk:4.8 powershell

使用上述命令,图像已成功下载,但从未成功启动 powershell,而是失败并出现以下错误:

docker:来自守护进程的错误响应:容器 0c709eb12c2c65dcba4427e078ef6bd244c56a67b8a8e4b8c7ba4cfc1ad05866 在 hcs::System::Start 期间遇到错误:超出了上下文截止时间。

关于如何解决这个问题有什么想法吗?

docker azure-virtual-machine
1个回答
0
投票

docker 环境内的 powershell 在 Azure Windows VM 上挂起

您遇到的错误通常是由于Docker daemon无法在默认时限内启动容器而导致的。

发生这种情况的原因有多种,例如空间不足或与 docker 中其他正在运行的容器发生冲突。

  • 确保您的系统有足够的空间(CPU、内存、磁盘空间)可用于运行容器。您可以尝试停止其他正在运行的容器或释放资源,看看是否可以解决问题。

  • 有时,重新启动 Docker 服务或虚拟机可以解决容器启动问题

    重启服务docker

确保 Docker 是最新的。有时,问题会在新版本的 Docker Desktop 中得到解决。

enter image description here

我已按照以下步骤创建相同的图像。

我使用 Windows (Windows 10 Pro) 创建虚拟机

enter image description here

在 Windows VM 中设置 Docker Desktop

完成后,验证您的 docker 桌面版本和信息

在这里查找操作系统类型,确保操作系统类型是 windows,因为默认情况下 docker 桌面安装有 Linux 容器。如果您看到操作系统类型显示为 linux,请使用

将其更改为 windows
& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon


参考文档

如果提示您需要启用 Hyper V,请先启用 Hyper V 设置

Enable-WindowsOptionalFeature -Online -FeatureName $("Microsoft-Hyper-V", "Containers") -All


这会重新启动系统,如果系统没有重新启动,您可以手动重新启动系统,然后登录并验证

Get-WindowsOptionalFeature -Online | Where-Object { $_.FeatureName -like "*Hyper-V*" -or $_.FeatureName -eq "Containers" }


然后重新运行

& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon


一旦完成,你就会看到

enter image description here

然后运行你的docker命令

docker run -it mcr.microsoft.com/dotnet/framework/sdk:4.8 powershell


它将拉取并提取并最终运行它

enter image description here

enter image description here

参考:

https://github.com/microsoft/hcssshim/issues/801

© www.soinside.com 2019 - 2024. All rights reserved.