大家好今天给大家带来同一台服务器上docker部署springCloud项目,而nacos再另一台服务器上,导致docker内部无法通信问题,部署条件如下图:
此时我们发现一个问题就是,当服务A,B,C注册到nacos上发现ip并不在同一网段上,导致服务之间无法调用,那么如何解决呢,看我操作
#首先我们需要创建docker自定义网络
docker network create [这里放你取的网络的名字]
#这里意思是后台运行在自定义网络内自定义镜像名称
docker run -d --network [刚才取得网络名字]--name [镜像id-CONTAINER ID] [这里放自定义名称]
#如果你是网关或者是其他需要做docker内部端口映射到宿主机的端口,可以这么做
docker run -d -p [宿主机端口]:[docker内部端口] --network [刚才取得网络名字]--name [镜像id-CONTAINER ID] [这里放自定义名称]
#检查服务是否运行到网络内
docker run -d --network host [刚才取得网络名字]
#
检查完是这样就对了,保证所有启动的服务在你当前创建的网段下
然后使用命令,查看运行的镜像
#查询运行的镜像
dokcer ps
#查询所有镜像,包括没运行的
dokcer ps -a
好了今天的解决方案就是这样,这中间也可能有更负责的网络环境,我这里只单只我遇到的情况,如果有什么问题记得留言我会看的