使用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。
若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。 (或者在 Windows 命令提示符下输入 ver 命令)。 更新到“设置”菜单中的最新 Windows 版本。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U7ZzYNUn-1640327338025)(http://www.linuxer.org/wp-content/uploads/2021/06/wp_editor_md_9b01184b30aa1c43da8af01a885e1a5f.jpg)]
步骤 2 - 启用虚拟机功能
安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动 计算机,以完成 WSL 安装并更新到 WSL 2。
步骤 3 - 下载 Linux 内核更新包
1、下载最新内核更新包
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
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 分发版。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mvbPRP79-1640327338026)(http://www.linuxer.org/wp-content/uploads/2021/06/wp_editor_md_e600bf0b655b342cc65893c22a3ddf6b.jpg)]
在安装Docker并启动容器,已经解决问题。如果已经下载了Ubuntu子系统,请卸载后重新下载。