我正在尝试使用Weave覆盖网络连接不同主机上的两个Docker容器。在我的第一台主机上,我可以毫无问题地连接到Weave网络。但是在另一台主机上,每当我尝试使用该网络运行容器时,或者当我尝试将现有容器连接到该网络时,我的命令行就会冻结。
这些是我正在使用的命令:
docker run -id --name test_container --net=weave test_img
和
docker run -id --name test_container test_img
weave attach test_container
在这两种情况下,命令行都是阻塞的,ctrl+c
无法停止命令。当我关闭终端并打开一个新终端时,我可以在执行docker ps -a
时看到容器。但是当我想要启动它时,同样的事情又会发生。
有什么想法吗?
答案 0 :(得分:0)
事实证明,我没有将第二台主机上的Weave路由器指向第一台主机的正确IP。运行select customername,len(customername) as namelength
from (SELECT MAX(LEN(CustomerName)) AS MAXLENGTH, MIN(LEN(CustomerName)) AS MINLENGTH
FROM Customers) lens
join customers c on c.len(customername) = lens.maxlength or c.len(customername) = lens.minlength
order by namelength desc, customername
时,我看到连接失败。使用正确的IP地址运行weave status
解决了问题。仍然很奇怪,运行Docker容器会阻塞命令行,而不是仅返回错误消息。