一、原由
当在一个集群环境中,我们需要用到docker启动一个服务的时候,如果总是指定固定的公开端口给docker运行的服务,那么将极大的限制了服务部署的灵活性和可维护行。那么有没有办法在服务启动后去容易获得docker动态分配的端口呢?
二、解决办法
Docker提供了port的子命令,具体使用如下:
docker port <container-name> |cut -d':' -f2
三、后续问题
目前这种方式只适合外服务外做服务注册的场景。
如果服务注册是在服务程序中完成的(如上报到zookeeper等),那么目前是没有办法的。有个issue3778在跟,不知道docker什么时候提供
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能有所帮助,如果有疑问大家可以留言交流。