刚开始接触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://zxbcw.cn/post/200274/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)