Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

容器之间互相访问失败 #94

Open
hlf2016 opened this issue Apr 4, 2023 · 2 comments
Open

容器之间互相访问失败 #94

hlf2016 opened this issue Apr 4, 2023 · 2 comments

Comments

@hlf2016
Copy link

hlf2016 commented Apr 4, 2023

docker0

IP :172.17.0.1

被访问容器

  • 端口映射 6665:6379

访问数据的容器

访问形式

redis-cli -h 172.17.0.1 -p 6665 

结果 connection refused

按照教程开放 6379 端口

sudo ufw allow from 172.17.0.0/24 to any port 6379 proto tcp

结果依然是 connection refused

接着在物理机开放 6665 端口

sudo ufw allow from 172.17.0.0/24 to any port 6665 proto tcp

结果 OK

可是按照教程所说 我只需开放 容器内 6379 端口 就应该可以互通的啊 不清楚 为何没有互通

@chaifeng
Copy link
Owner

chaifeng commented Aug 5, 2023

抱歉,几个月前非常忙,不知道是不是已经得到解决。或者,你可以用这个项目中的 Vagrantfile 来重现你的问题吗?这样我就可以用 vagrant up 启动虚拟机并登录进去以后就能看到你的问题了。

在当前的 Vagrant 虚拟机环境里,是能够验证容器之间是互通的。有另外一个 issue #105 遇到和你同样的问题,我目前感觉可能是因为防火墙中的其他规则阻止了容器间的访问。你可以修改 Vagrantfile 在大概108行那大段 shell 的最后来重现你的问题。

@yorunning
Copy link

应该是容器访问主机的映射端口被拦了,我的测试情况如下:

容器--容器 通过 172.17.0.x:port ok
容器--容器 通过 172.17.0.1:port(端口映射) 无法访问
容器--主机 通过 172.17.0.1:port(直接部署在主机上的服务) 无法访问
主机--容器 通过 172.17.0.x:port ok
主机--容器 通过 172.17.0.1:port(端口映射) ok

然后执行 ufw allow from 172.16.0.0/12 to 172.17.0.1 proto tcp后,容器到主机172.17.0.1可以正常访问。但是没搞懂172.17.0.1是包含在172.16.0.0/12这一段中,按理说应该不会存在这个问题的,希望作者大大能解答一下。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants