![尽管服务正在运行,但 Ubuntu WSL“docker run X”仍无法运行](https://linux22.com/image/948588/%E5%B0%BD%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%EF%BC%8C%E4%BD%86%20Ubuntu%20WSL%E2%80%9Cdocker%20run%20X%E2%80%9D%E4%BB%8D%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8C.png)
出现了一个问题,我一直在试图找出原因,以便能够解决它。
背景:已启用 WSL2 的 Windows 10 操作系统 +v2004.2022.1.0
安装了 Windows 上的 Ubuntu。我已经通过这三个包安装了 docker;。docker-ce docker-ce-cli containerd.io
然后我在 中使用了自定义覆盖daemon.json
,以便我可以轻松地从 Windows(浏览器/IDE)访问它;
karel:~$ cat /etc/docker/daemon.json
{
"hosts": [
"unix:///mnt/wsl/shared-docker/docker.sock"
],
"registry-mirrors": [
"company url"
]
}
我还创建了一个组,docker
将我的用户添加到其中,并让该组与所述套接字交互(见下文)。当我启动服务时,docker 运行良好。这是从/var/log/docker.log
time="2022-08-30T12:06:12.577852700+02:00" level=warning msg="Your kernel does not support cgroup blkio throttle.write_iops_device"
time="2022-08-30T12:06:12.578513800+02:00" level=info msg="Loading containers: start."
time="2022-08-30T12:06:12.732167500+02:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"
time="2022-08-30T12:06:12.807372700+02:00" level=info msg="Loading containers: done."
time="2022-08-30T12:06:12.882856700+02:00" level=info msg="Docker daemon" commit=a89b842 graphdriver(s)=overlay2 version=20.10.17
time="2022-08-30T12:06:12.883136500+02:00" level=info msg="Daemon has completed initialization"
time="2022-08-30T12:06:12.912593800+02:00" level=info msg="API listen on /mnt/wsl/shared-docker/docker.sock"
当我想证明我是否可以旋转容器时,我使用了docker的hello-world
。这会失败并显示一条消息,告诉我守护进程未运行,尽管服务正在运行。
karel:~$ docker run hello-world
docker: Cannot connect to the Docker daemon at unix:///mnt/wsl/shared-docker/docker/sock. Is the docker daemon running?.
See 'docker run --help'.
karel:~$ service docker status
* Docker is running
我感觉存在访问不匹配的情况,但除了通过stat
或检查之外,我不知道如何排除访问管理故障。我在守护进程上ls -l
用过;stat
karel:~$ stat /mnt/wsl/shared-docker/docker.sock
File: /mnt/wsl/shared-docker/docker.sock
Size: 0 Blocks: 0 IO Block: 4096 socket
Device: 14h/20d Inode: 8 Links: 1
Access: (0660/srw-rw----) Uid: ( 0/ root) Gid: (36257/ docker)
Access: 2022-08-30 12:06:12.245909900 +0200
Modify: 2022-08-30 12:06:12.245909900 +0200
Change: 2022-08-30 12:06:12.245909900 +0200
Birth: -
该群组docker
是我为添加用户而创建的自定义群组(见上文)。目前,我是该群组的唯一成员;
karel:~$ getent group docker
docker:x:36257:karel
我错过了什么?或者我错过了什么?我可以采取哪些步骤来解决这个问题;我可以旋转一个docker容器吗?