And*_*rez 15 windows docker windows-subsystem-for-linux
我试图在WSL上运行Docker失败.我按照在Ubuntu上安装Docker的步骤安装了WSL上的Docker,但是当我执行时,docker ps我收到以下错误:
docker ps    
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
看着码头日志我发现了这个:
level=warning msg="Running modprobe nf_nat failed with message: `modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-43-Microsoft/modules.dep.bin'\nmodprobe: WARNING: Module nf_nat not found in directory /lib/modules/4.4.0-43-Microsoft`, error: exit status 1"
time="2017-12-28T12:07:23.227671600+01:00" level=warning msg="Running modprobe xt_conntrack failed with message: `modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-43-Microsoft/modules.dep.bin'\nmodprobe: WARNING: Module xt_conntrack not found in directory /lib/modules/4.4.0-43-Microsoft`, error: exit status 1"
Error starting daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain: iptables failed: iptables -t nat -N DOCKER: iptables v1.6.0: 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)
知道如何在WSL上运行Docker?
And*_*rez 21
最后,我可以轻松地在WSL上运行Docker:首先需要在Windows上安装和运行Docker Engine,然后在Ubuntu bash上创建一个指向Windows可执行文件的符号链接:
sudo ln -s /mnt/c/Program\ Files/Docker/Docker/resources/bin/docker.exe /usr/bin/docker
此链接有效,因为从Windows 10 Creators Update版本可以从Bash运行Windows可执行文件.如果Windows版本是Windows 10 Creators Update之前的版本,则可以尝试本博客中介绍的解决方案
ken*_*orb 17
创建 NAT 链失败:iptables 失败
尝试运行dockerd服务--iptables=false(考虑添加-D以进行调试)。
--iptables启用添加 iptables 规则(默认 true)
Ale*_* A. 12
就我而言,问题与wsl. 我将其更改为版本 2并重新安装了 Ubuntu-20.04 和 docker,一切正常。
wsl --set-default-version 2
好消息!真正的Linux Docker守护进程在build 17134上运行良好,因此不再需要Windows Docker或Hyper-V.我正在测试Release Preview环上的构建,我只是在WSL内部的linux容器内编译了docker源而没有问题!
只需等待下一周即将发布的下一个Windows 10功能版本!
给出的答案已过时。请按照该博文中链接的同一博客中的说明进行操作:在 Windows 上的 Bash 上运行 Docker 容器。解决办法还是很简单的。
export PATH="/mnt/c/Program\ Files/Docker/Docker/resources/bin:$PATH"
alias docker=docker.exe
alias docker-compose=docker-compose.exe
就是这样。有用。
| 归档时间: | 
 | 
| 查看次数: | 12693 次 | 
| 最近记录: |