docker部署微服务遇到的问题二

自己尝试将微服务部署到docker上面,期间按照周立的微服务架构实战13章进行学习

按照书上的步骤,一切部署成功之后,尝试访问,一直没有成功访问,周五部署了两遍 折腾了一下 还是没有找到为啥,周一继续终于解决了,并且理解了为什么

按照宿主ip+暴露端口号:

localhost:60901/test/one/

127.0.0.1:60901/test/one/

访问都不成功

后进入容器内部,用curl进行访问,是可以成功访问到微服务接口的内容:
进入指定的容器:

指令:

docker exec -it <container_name>

docker exec -it <container_name> /bin/bash

在容器内部用curl访问:

可以看出,在容器内部是可以成功访问到微服务的接口的

在容器外是不可以访问到微服务接口的。

为什么会这样?

需要理解一下之间的关系:

由于虚拟网卡的作用,本地127.0.0.1/localhost本地和docker的虚拟机192.168.99.100之间在外界看来,是平等的关系,所以用127.0.0.1/localhost 访问的本机windows,而不能访问到docker的虚拟机。用docker虚拟机的ip访问即可。

192.168.99.100:60901/test/one/

是可以成功访问到微服务的接口内容

其实最开始尝试了这个docker 的虚拟ip,但是当时好像一下子没有成功,就没有再考虑这个方向

感谢 远方一个前辈的帮忙和指点

原文地址:https://www.cnblogs.com/Jordandan/p/7504197.html