操作系统:windows7 x64
软件:Docker For Windows的DockerToolbox

问题

按照提示安装完成后,首次运行Docker Quickstart Terminal即画面永久定格在了wating for an ip....这一步
中断后发现名为“default”虚拟机已经在virtual box中成功创建且在运行中,但是docker-machine的ls、start、stop、ssh命令都无法正常完成

解决过程(本段为了让遇到同样问题的人能更容易搜索到,时间紧可直接跳到解决方案)

起初一直停留在“wating for an ip....”这一表象上,以为是DHCP相关的问题,按此关键词Google查了N多资料无果

于是查阅help命令后开启了docker-machine的debug功能,及在每一条docker-machine命令后加上“--debug”参数

发现所有出错的地方都是SSH环节,错误信息:“SSH cmd err, output: exit status 255”

于是本机装了openssh,配置了环境变量,查了很多关于此条错误信息的资料,发现网上至今根本没有有效方案:

https://github.com/docker/machine/issues/2740

目光转向ip端口转发环节,查看virtual box的"default"虚拟机网络配置发现virtual box试图转发宿主机的50335端口(随机端口)到docker机的22端口,如图:

所以从virtual box直接双击登入“default”虚拟机,然后命令#ifconfig,记下虚拟机IP:192.168.99.100

宿主机(即windows)使用命令:ssh 192.168.99.100,发现可以正常连接并要求输密码,此处达到了目的所以直接中断命令

继续:ssh 127.0.0.1 -p 50335,提示错误:“ssh: connect to host 127.0.0.1 port 50335: Bad file number”。

至此高度怀疑是virtual box的端口转发在本系统中没有生效导致的问题,为了进一步验证这一猜想,利用windows自带的netsh手动配置端口转发:

netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=50335 connectaddress=192.168.99.100 connectport=22

可以使用如下命令来确认设置生效:

netsh interface portproxy show all

最后执行:

docker-machine ssh default

发现终于看到了梦寐以求的开始界面,同时所有其余命令全部可用了:

至此问题成因确凿无疑,简单搜索就解决了Virtual Box转发不生效的问题:

https://blog.csdn.net/yanxiangyfg/article/details/51200807

首先撤销我们刚刚手动配置的转发:

netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=50335

最终解决方案:

依次执行以下command然后重启电脑:

netsh winsock reset all
netsh int 6to4 reset all
netsh int ipv4 reset all
netsh int ipv6 reset all
netsh int httpstunnel reset all
netsh int isatap reset all
netsh int portproxy reset all
netsh int tcp reset all
netsh int teredo reset all

重启后一不注意又是一大坑:virtual box的转发只在管理员模式下生效,所以必须用管理员模式运行docker-machine命令,如果要用virtual box软件管理、查看docker虚拟机,virtual box也必须由管理员启动。

至此一切正常,大功告成!

WTF!两天的岁月就这么过去了,码这么多字一是为了记录,二是为了留下尽可能多的信息帮助遇到同样困惑的人搜索到此解决方案,坑多路长,各位同仁共勉。

记录win7安装Docker for Windows(DockerToolbox)的一记大坑:wating for an ip....卡死相关推荐

  1. Win7安装Docker 1

    Win7安装Docker 下载安装包为:DockerToolbox.exe 下载docker的win安装工具 如果是win10系统,可以直接去docker官网下载docker for windows: ...

  2. 【Docker】win7安装docker及镜像加速

    安装 Docker在Windows上使用有两种方式,一是利用VirtualBox建立linux虚拟机,在linux虚拟机中安装docker服务端和客户端,二是利用Windows的Hyper-v虚拟化技 ...

  3. 未找到文件 服务器可能无此更新包文件,win7安装xampp提示windows找不到-n文件(安装成功后,443端口占用,apache服务器无法正常启动)的解决方案...

    1. 环境:win7 64位安装xampp 32位. 2. 安装过程最后,报错,提示windows找不到-n文件.以及说没有安装Microsoft Visual C++ 2008 Redistribu ...

  4. win7安装网络打印机显示windows无法连接到打印机,出现错误0x00000bcb

    2019独角兽企业重金招聘Python工程师标准>>> win7安装网络打印机显示"windows无法连接到打印机,出现错误0x00000bcb" 解决办法: 1 ...

  5. win10 家庭版安装 docker for windows

    从官网下载:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe 在 win10 家庭版上安装 d ...

  6. 神州电脑安装docker for Windows

    前言 小编最近在研究docker,首先的一步就是要安装docker,不过小编的docker安装之路可谓是"山路十八弯".所以,整理一下经验,希望能够对大家有所帮助! docker ...

  7. Win7安装Docker

    安装环境 我本机的配置情况:win7-64位操作系统.内存8G.处理器intel(R) Core(TM) i5-6500 CPU(4核) 安装步骤 一.下载安装包 win7系统对应的docker安装包 ...

  8. 【网址收藏】win10环境下安装Docker、Windows安装docker

    一.进入Docker官网 首先先到Docker官网下载最新官方Docker for Windows:Docker下载 在官网内可以查看到Docker的开发文档. 根据官网提示,Windows环境下下载 ...

  9. win10家庭版安装Docker for Windows及问题处理以及更改为阿里源

    0. 背景 操作系统:Windows 10 家庭中文版 1. 开启Hyper-V 新建hyperv.cmd文件,内容如下: pushd "%~dp0"dir /b %SystemR ...

最新文章

  1. VS调试时提示此项目已经过期
  2. Reddit热点 | 想看被打码的羞羞图片怎么办?CNN帮你解决
  3. php蛇蛇大作战,Android ConstraintLayout 2.0:ConstraintLayoutStates
  4. Harvard's CS50
  5. java函数式编程_Java 函数式编程和 lambda 表达式详解
  6. python高阶函数心得体会_Python高阶函数使用总结
  7. java排队系统模型,MMC排队系统模型
  8. python引用模块的私有变量_python 使用不同方法导入模块,模块中私有变量的使用区别...
  9. 联想x3850x6从u盘引导_联想笔记本bios设置u盘启动教程
  10. 固态硬盘是什么接口_电脑固态硬盘和机械硬盘有什么区别-电脑固态硬盘和机械硬盘区别介绍...
  11. LINUX DDR驱动知识(转)
  12. AAAI-2021-RE-Progressive Multitask Learning with Controlled Information Flow for Joint Entity and Re
  13. 应用程序无法正常启动(0x000007b)的不常见的解决过程
  14. A. Liserious战队
  15. 截取手机号的前三位与后四位
  16. android开发开源宝贝
  17. 未来星计算机一级分数截图,学生成绩统计与分析系统2.0(全新升级)
  18. Java训练01“ 根据身高体重计算BMI指数”
  19. 2-6 行为面试常见问题与回答技巧
  20. 俄罗斯互联网的冰山一角

热门文章

  1. 波特率(baud)与比特率(bit/s)的差别
  2. php php_sapi cli,php_sapi_name() cli
  3. Spring Cloud 如何统一异常处理?写得太好了!
  4. 麻省理工计算机导论公开课,网易公开课给大一新生“量身订做”精品课程
  5. 手把手调参最新 YOLOv7 模型 训练部分 - 最新版本(二)
  6. help efun matlab,Matlab优化工具箱在函数最值求解中的应用.pdf
  7. appdesigner与simulink交互
  8. 51单片机教程__模块化编程
  9. matlab 简单算例,(简单算例)基于Matlab的电力系统潮流编程计算.pdf
  10. 解读 Oracle 12c 自适应执行计划一例