刚开始接触docker,遇到异常问题难免会手忙脚乱。没事的,学习就是这样子,在困难中不断地找到解决问题的方法,贵在坚持,加油!
来了来了,问题来了,不要慌,看下面:
我们正常打开了docker后执行命令后报出error during connect异常。
后面给出了对应异常错误的解释:
no connection could be made because the target machine actively refused it.(无法连接,因为目标机器主动拒绝它。)这下子我们知道问题在哪了,我们的docker镜像运行在virtualbox(win10家庭版),所以这里的目标机器是virtualbox的连接出现了问题。
两个解决办法:
打开virtualbox重启default服务。
然后就可以了。
不想打开virtualbox也是可以的,执行命令同样可以重启default。
在docker里执行命令:
docker-machine restart default
结果:
出入执行命令都可以顺利执行了。问题解决了,不难,下次遇到要记住了。
补充知识:windows下安装docker后,在docker容器中启动程序,无法通过外部ip:port方式访问
最近在使用容器进行启动开发的项目,但发在使用相同的镜像在linux系统下的容器中启动后,可以通过linux ip:port (映射的端口)和容器ip:port访问,而在windows下不能访问的问题。
有两个解决办法
直接在windows宿主机上访问
可以采用linuxip:port的方式访问
在windows中安装docker,实质上是启动了一个linux虚拟机,在linux中运行的docker,所以直接使用windowip:port的方式是访问不到的,这里应该使用虚拟机的ip:映射端口的方式访问。
查询windows docker启动机器的ip地址命令:
docker-machine ip default
一般都为 192.168.99.100
这时使用 192.168.99.100:port 就可以成功访问了
需要在与windows相通的其他机器上访问
当我们需要在与windows相通的其他机器上访问 ,就需要使用windowsip:port的方式了,这时需要对虚拟机进行配置。
打开vm virtualbox,1.选择default,右键设置–>2.选择左侧菜单“网络”->3.网卡1中点击“高级”展开–>4.点击端口转发打卡端口转发配置界面
在端口转发规则界面进行配置,点击右侧“+”按钮,进行添加端口转发规则,进行填写名称,主机端口,子系统端口,点击下方ok,进行保存即可。
保存后即可使用windowsip:主机端口进行访问。(主机端口对应为windows系统端口;子系统端口为linux虚拟机的端口,即为容器映射的端口,如在docker中启动容器将容器的8181端口映射到8186即-p 8186:8181,则这里子系统端口填写8186)
以上这篇解决docker中的error during connect异常情况就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_43716338/article/details/104988118