在 Azure Windows VM 上运行以下命令
docker run -it mcr.microsoft.com/dotnet/framework/sdk:4.8 powershell
使用上述命令,图像已成功下载,但从未成功启动 powershell,而是失败并出现以下错误:
docker:来自守护进程的错误响应:容器 0c709eb12c2c65dcba4427e078ef6bd244c56a67b8a8e4b8c7ba4cfc1ad05866 在 hcs::System::Start 期间遇到错误:超出了上下文截止时间。
关于如何解决这个问题有什么想法吗?
docker 环境内的 powershell 在 Azure Windows VM 上挂起
您遇到的错误通常是由于Docker daemon无法在默认时限内启动容器而导致的。
发生这种情况的原因有多种,例如空间不足或与 docker 中其他正在运行的容器发生冲突。
确保您的系统有足够的空间(CPU、内存、磁盘空间)可用于运行容器。您可以尝试停止其他正在运行的容器或释放资源,看看是否可以解决问题。
有时,重新启动 Docker 服务或虚拟机可以解决容器启动问题
重启服务docker
确保 Docker 是最新的。有时,问题会在新版本的 Docker Desktop 中得到解决。
我已按照以下步骤创建相同的图像。
我使用 Windows (Windows 10 Pro) 创建虚拟机
在 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
一旦完成,你就会看到
然后运行你的docker命令
docker run -it mcr.microsoft.com/dotnet/framework/sdk:4.8 powershell
它将拉取并提取并最终运行它
参考: