使用WSL下的Ubuntu 20.04部署docker后,无法启动容器,提示Error response from daemon: OCI runtime create failed:
使用WSL下的Ubuntu 20.04部署docker后,无法启动容器,提示错误:Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:352: getting the final child
使用WSL下的Ubuntu 20.04部署docker后,无法启动容器,提示错误:
Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:352: getting the final child's pid from pipe caused: EOF: unknown
Error: failed to start containers: elegant_panini
这个错误主要是因为WSL的版本导致的,只需要将WSL升级到WSL2即可,操作步骤如下:
步骤1 - 检查运行 WSL 2 的要求
若要更新到 WSL 2,需要运行 Windows 10。
- 对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本。
- 对于 ARM64 系统:版本 2004 或更高版本,采用 内部版本 19041 或更高版本。
- 低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。
若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。 (或者在 Windows 命令提示符下输入 ver 命令)。 更新到“设置”菜单中的最新 Windows 版本。
步骤 2 - 启用虚拟机功能
安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动 计算机,以完成 WSL 安装并更新到 WSL 2。
步骤 3 - 下载 Linux 内核更新包
1、下载最新内核更新包
- 适用于 x64 计算机的 WSL2 Linux 内核更新包
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
- 如果使用的是 ARM64 计算机,请下载 ARM64 包(
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi
)。 如果不确定自己计算机的类型,请打开命令提示符或 PowerShell,并输入:systeminfo | find "System Type"
。
2、运行上一步中下载的更新包
步骤 4 - 将 WSL 2 设置为默认版本
打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
wsl --set-default-version 2
步骤 5- 安装所选的 Linux 分发
打开 Microsoft Store,并选择你偏好的 Linux 分发版。
在安装Docker并启动容器,已经解决问题。如果已经下载了Ubuntu子系统,请卸载后重新下载。
更多推荐
所有评论(0)