Haz*_*hir 27 docker docker-machine
重新启动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
Run Code Online (Sandbox Code Playgroud)
但当我这样做时:
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - virtualbox Timeout
Run Code Online (Sandbox Code Playgroud)
和:
? 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.
Run Code Online (Sandbox Code Playgroud)
当我尝试重新初始化我的环境时,我得到:
? 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.
Run Code Online (Sandbox Code Playgroud)
BTW,再生证书也没有帮助.任何的想法?
谢谢.
ken*_*orb 11
请尝试手动重新生成证书:
docker-machine --debug regenerate-certs -f default
Run Code Online (Sandbox Code Playgroud)
并检查要修复的任何错误,然后再试一次:
docker-machine --debug env default
Run Code Online (Sandbox Code Playgroud)
如果它在ssh上失败,请将该命令复制并粘贴到终端,通过添加额外来查看问题是什么-vv.
如果你有:
debug1:连接到地址127.0.0.1端口64368:连接被拒绝
那你的机器没有运行(检查docker-machine ls),所以试试:
docker-machine start
Run Code Online (Sandbox Code Playgroud)
然后尝试通过以下方式ssh:
docker-machine -D ssh default
Run Code Online (Sandbox Code Playgroud)
在做了一些研究之后,我发现以下解决方法可以解决现在的问题:
打开网络与共享中心
单击"更改适配器设置"
查看是否有任何已启用的适配器,例如VPN或VM Ware网络适配器.
尝试禁用它们并尝试再次连接到您的容器
如果在禁用其他适配器时它不起作用,请重新启动电脑 - 在我的情况下,这对我有用.
对我有用的是来自 docker-machine 存储库的答案:
docker-machine regenerate-certs --client-certs [name]
Run Code Online (Sandbox Code Playgroud)
基本上,过期的是客户端证书。我从 docker-machine 收到的错误消息与您的类似(即,没有表明需要重新生成客户端证书)。
这为我工作:
rmdir.exe --ignore-fail-on-non-empty ~/.docker/docker-machine startdocker-machine enveval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env default)(还在我的末尾添加了.bash_profile。docker run hello-world <-现在在咆哮| 归档时间: |
|
| 查看次数: |
26106 次 |
| 最近记录: |