重新启动Windows后,我无法连接到在Oracle Virtual Box中运行的docker机器.当我启动Docker QuickStart终端时,每件事看起来都很好,它就会出现,它会给我这样的信息:
docker is configured to use the default machine with IP 192.168.99.100 For help getting started, check out the docs at https://docs.docker.com
但当我这样做时:
$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default - virtualbox Timeout
和:
? docker images An error occurred trying to connect: Get http://localhost:2375/v1.21/images/json: dial tcp 127.0.0.1:2375: ConnectEx tcp: No connection could be made because the target machine actively refused it.
当我尝试重新初始化我的环境时,我得到:
? docker-machine env default Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": dial tcp 192.168.99.100:2376: i/o timeout You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'. Be advised that this will trigger a Docker daemon restart which will stop running containers.
BTW,再生证书也没有帮助.任何的想法?
谢谢.
请尝试手动重新生成证书:
docker-machine --debug regenerate-certs -f default
并检查要修复的任何错误,然后再试一次:
docker-machine --debug env default
如果它在ssh上失败,请将该命令复制并粘贴到终端,通过添加额外来查看问题是什么-vv
.
如果你有:
debug1:连接到地址127.0.0.1端口64368:连接被拒绝
那你的机器没有运行(检查docker-machine ls
),所以试试:
docker-machine start
然后尝试通过以下方式ssh:
docker-machine -D ssh default
在做了一些研究之后,我发现以下解决方法可以解决现在的问题:
打开网络与共享中心
单击"更改适配器设置"
查看是否有任何已启用的适配器,例如VPN或VM Ware网络适配器.
尝试禁用它们并尝试再次连接到您的容器
如果在禁用其他适配器时它不起作用,请重新启动电脑 - 在我的情况下,这对我有用.
这为我工作:
从我的virtualbox中删除了所有仅主机的接口(VirtualBox => Preferences => Network => Only-hosts网络)。
rmdir.exe --ignore-fail-on-non-empty ~/.docker/
docker-machine start
docker-machine env
eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env default)
(还在我的末尾添加了.bash_profile
。
docker run hello-world
<-现在在咆哮
在这里启发了一个帖子。