一、原由
當(dāng)在一個(gè)集群環(huán)境中,我們需要用到docker啟動(dòng)一個(gè)服務(wù)的時(shí)候,如果總是指定固定的公開(kāi)端口給docker運(yùn)行的服務(wù),那么將極大的限制了服務(wù)部署的靈活性和可維護(hù)行。那么有沒(méi)有辦法在服務(wù)啟動(dòng)后去容易獲得docker動(dòng)態(tài)分配的端口呢?
二、解決辦法
Docker提供了port
的子命令,具體使用如下:
1
|
docker port <container-name> | cut -d ':' -f2 |
三、后續(xù)問(wèn)題
目前這種方式只適合外服務(wù)外做服務(wù)注冊(cè)的場(chǎng)景。
如果服務(wù)注冊(cè)是在服務(wù)程序中完成的(如上報(bào)到zookeeper等),那么目前是沒(méi)有辦法的。有個(gè)issue3778在跟,不知道docker什么時(shí)候提供
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能有所幫助,如果有疑問(wèn)大家可以留言交流。