在WSL2 Ubuntu 18 LTS上运行docker的问题

时间:2020-07-21 09:39:15

标签: docker ubuntu-18.04 windows-subsystem-for-linux

我的Windows 10计算机上有ubunto 18 LTS wsl2。

已经安装了docker-请在下面的屏幕截图中找到 Docker Version and Starting service

现在启动Docker服务后,我尝试检查docker信息,但是遇到以下错误。

Error while trying info

我做了一些研究,发现了这篇帖子-Cannot connect to the Docker daemon at unix:/var/run/docker.sock. Is the docker daemon running?

如本文中的建议,systemctl start docker也尝试过,但是却出现错误,如System has not been booted with systemd as init system (PID 1). Can't operate.

另一个建议是尝试sudo dockerd-这导致下面的日志

INFO[2020-07-21T14:45:02.918374600+05:30] [graphdriver] using prior storage driver: overlay2
WARN[2020-07-21T14:45:03.044702300+05:30] Your kernel does not support cgroup memory limit
WARN[2020-07-21T14:45:03.046625300+05:30] Unable to find cpu cgroup in mounts
WARN[2020-07-21T14:45:03.049054700+05:30] Unable to find blkio cgroup in mounts
WARN[2020-07-21T14:45:03.051115500+05:30] Unable to find cpuset cgroup in mounts
WARN[2020-07-21T14:45:03.053056000+05:30] mountpoint for pids not found
INFO[2020-07-21T14:45:03.056254900+05:30] Loading containers: start.
WARN[2020-07-21T14:45:03.108913100+05:30] Running iptables --wait -t nat -L -n failed with message: `iptables v1.6.1: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.`, error: exit status 3
INFO[2020-07-21T14:45:03.522988800+05:30] stopping event stream following graceful shutdown  error="<nil>" module=libcontainerd namespace=moby
INFO[2020-07-21T14:45:03.523923200+05:30] stopping healthcheck following graceful shutdown  module=libcontainerd
INFO[2020-07-21T14:45:03.524034200+05:30] stopping event stream following graceful shutdown  error="context canceled" module=libcontainerd namespace=plugins.moby
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.6.1: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
 (exit status 3) 

sudo dockerd logs

我继续在iptable上面的Google搜索中进行搜索,并按照论坛中的说明找到了https://stackoverflow.com/questions/21983554,我尝试了sudo modprobe ip_tables并给了modprobe: FATAL: Module ip_tables not found in directory /lib/modules/4.4.0-18362-Microsoft

如果我走了正确的路,那么我需要一些指导。

1 个答案:

答案 0 :(得分:-1)

1.kill dockerd进程(如果未找到任何进程,请转到2) ps -aux | grep dockerd

杀死-9 DOCKERD_PROCESS_ID

2.sudo dockerd&

成功运行dockerd!