目的:
一:运行Docker容器
二:升级WSL1为WSL2
现象:
一:
运行:wsl --set-version Ubuntu 2
不会出现任何报错,只会出现一长串的操作提示。
而运行wsl --set-version Ubuntu 1就ok。
二:
运行:wsl --install来安装wsl
安装后默认就是wsl1
三:
wsl上安装docker并运行镜像会报错:Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: waiting for init preliminary setup: EOF: unknown.
此时容器已经创建,但没运行,如果指定运行容器:docker start 容器ID
依然会报同样的错误
原因:
WinServer2019、2022原先是不支持WSL2的,只能使用WSL1.
但在2022年6月14的更新中增加了对WinServer2019、2022的WSL2的支持,
更新:KB5014678
内部版本:20348.768
解决方法:
更新系统版本。
使内部版本高于20348.768
再次运行:wsl --set-version Ubuntu 2
关于DOCKER:有些容器在WSL1向WSL2切换后会无法运行而报错,这时需要卸载重装这个镜像
尝试:
docker start 容器ID
如果:
成功运行:结束
报错:否则……
否则:
docker rmi 镜像ID (卸载原来的镜像)
docker pull …… (重装镜像)
docker run 镜像ID (重新运行镜像)
成功:
再运行wsl -l -v也是显示2 。
docker的容器也能运行了。
:>