Kla*_*urn 12 windows docker windows-10 docker-toolbox
我刚刚在Windows 10上使用docker-toolbox 1.8.2安装了docker .
由于这个问题,我不得不使用这些命令重新创建docker镜像
docker-machine rm default
docker-machine --native-ssh create -d virtualbox default
Run Code Online (Sandbox Code Playgroud)
之后它一直很好,除了一个问题:
当PC进入休眠状态然后再次唤醒时,docker命令无法再连接.例:
> docker images
An error occurred trying to connect: Get https://192.168.99.100:2376/v1.20/images/json:
dial tcp 192.168.99.100:2376: ConnectEx tcp: A connection attempt failed because the
connected party did not properly respond after a period of time, or established connection
failed because connected host has failed to respond.
Run Code Online (Sandbox Code Playgroud)
但是,docker-machine
将机器列为正在运行:
> docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
default * virtualbox Running tcp://192.168.99.100:2376
Run Code Online (Sandbox Code Playgroud)
我还可以在VirtualBox中确认VM屏幕似乎是活动的.
我试过启动和停止机器,但这没有用
C:\x> docker-machine stop default
C:\x> docker-machine start default
Starting VM...
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
C:\x> docker-machine env default --shell=powershell
Run Code Online (Sandbox Code Playgroud)
具有讽刺意味的是,最后一个命令挂起,因此我从未获得任何环境设置.
唯一有帮助的是重启整个PC.但这应该是不必要的?
我还在docker github存储库上发布了这个问题,但是已经关闭了.一个相关的问题似乎是这个,但没有为Windows发布解决方法或解决方案.
Dzo*_*ukr 13
在与VirtualBox + Docker Toolbox战斗之后,我终于找到了方法,如何使Docker再次工作(即使没有重新启动所有容器):
docker images
(不会工作)docker images
一次(现在应该工作)请注意:所有步骤仅在VirtualBox中!Running docker-machine restart default
将创建另一个仅限主机的适配器,这是您不想要的.如果您仍然这样做,删除所有额外创建的适配器(文件 - >首选项 - > VirtualBox上的网络),然后按照步骤1-5.
我在Windows 8.1上遇到了完全相同的症状......问题在于它并不是特定于Docker的问题,而是更多Windows如何在睡眠后管理VirtualBox网络适配器(我认为......).在我的情况下,罪魁祸首是网络适配器的地址在睡眠后变为私有(它们变成169.*地址).
这个给我这个想法的人的信用:http://lyngtinh.blogspot.ca/2011/12/how-to-disable-autoconfiguration-ipv4.html
固定:
ipconfig /all
.在我的案例中有用的是标有"VirtualBox Host-Only Ethernet Adapter"的那些没有私有ips(不是以169.*开头).netsh interface ipv4 show inter
.netsh interface ipv4 set interface <idx> dadtransmits=0 store=persistent
.将<idx>替换为上一步中找到的每个索引.后来,我能docker-machine start default
,然后docker-machine env default --shell cmd
,把PC睡觉,醒来并运行docker-machine env default --shell cmd
一次.
我发现删除'host only adapter'(文件 - >首选项 - > VirtualBox上的网络),然后重启docker-machine帮助.
不是真正的解决方案.但可能更好地重新启动计算机.
归档时间: |
|
查看次数: |
6225 次 |
最近记录: |