采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我的服务采用docker打包并运行,按课程前面服务注册的做法,此时服务注册用的ip和port是docker内部的地址,不是宿主机的真实地址。
Google到的方案是,在docker运行时把宿主机ip和port传递进去,在服务内部使用宿主机的ip和映射port来进行注册
想问下还有其他方案来解决这个问题吗?
因为docker批量化运行时可能就会随机使用port
ip地址外部是可用的,知识port端口号不能随便使用,实际开发中建议传递参数进去, 否则会带来更多不确定的其他问题,部署在宿主机上可以随意定义端口
嗯,我知道老师的意思。 我的疑惑在于,比如一个user-service启动三个docker,这个容器暴露的端口都是统一的9000,外部宿主机和容器绑定时分配的可能是30320,30321,30322这样式的,这样每个容器启动的时候去注册consul时都需要宿主机在启动容器时把ip+port传递进来,是不是不太好啊
你的想法很严谨,可以将这些docker映射到同一个network之下, 这样就可以随机端口了,同时,ip使用docker内部的ip也没问题,实际上这些使用k8s的话都会帮我们完成
好的,明白了
登录后可查看更多问答,登录/注册
快速转型Go工程师,成为具备双语言后端能力的开发者
517 1
641 1
1.2k 20
847 11
777 10