WSL2启用systemd后service docker start执行失败的问题求助
WSL2启用systemd后service docker start执行失败的问题求助
各位好,我碰到了一个WSL2下Docker启动的奇怪问题,想请大家帮忙分析下:
当我的/etc/wsl.conf里配置了systemd=true时,执行service docker start完全没有反应,Docker根本启动不起来;但如果把这行注释掉,service docker start就能正常启动Docker了。
下面是我的环境详情:
- WSL版本输出(
wsl --version):
WSL version: 2.2.4.0 Kernel version: 5.15.153.1-2 WSLg version: 1.0.61 MSRDC version: 1.2.5326 Direct3D version: 1.611.1-81528511 DXCore version: 10.0.26091.1-240325-1447.ge-release Windows version: 10.0.22631.4037
- Ubuntu发行版信息(
lsb_release -a):
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy
- Docker版本(
docker --version):
Docker version 25.0.3, build 4debf41
启动失败时的相关日志如下:
systemd[1]: Starting Docker Application Container Engine... dockerd[1234]: time="2024-05-20T12:34:56+08:00" level=info msg="Starting up" dockerd[1234]: time="2024-05-20T12:34:56+08:00" level=info msg="detected 127.0.0.53 nameserver, assuming systemd-resolved, so using resolv.conf: /run/systemd/resolve/stub-resolv.conf" dockerd[1234]: time="2024-05-20T12:34:56+08:00" level=info msg="parsed scheme: \"unix\"" module=grpc dockerd[1234]: time="2024-05-20T12:34:56+08:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc dockerd[1234]: time="2024-05-20T12:34:56+08:00" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock <nil> 0 <nil>}] <nil> <nil>}" module=grpc dockerd[1234]: time="2024-05-20T12:34:56+08:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc dockerd[1234]: time="2024-05-20T12:34:56+08:00" level=info msg="parsed scheme: \"unix\"" module=grpc dockerd[1234]: time="2024-05-20T12:34:56+08:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc dockerd[1234]: time="2024-05-20T12:34:56+08:00" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock <nil> 0 <nil>}] <nil> <nil>}" module=grpc dockerd[1234]: time="2024-05-20T12:34:56+08:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc dockerd[1234]: time="2024-05-20T12:34:56+08:00" level=error msg="failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables v1.8.7 (nf_tables): Could not fetch rule set generation id: Invalid argument\n (exit status 4)" systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE systemd[1]: docker.service: Failed with result 'exit-code'. systemd[1]: Failed to start Docker Application Container Engine.
有没有大佬知道这是什么原因导致的?该怎么解决这个问题呢?
备注:内容来源于stack exchange,提问作者neubert




