Docker处理随机RPC端口问题


一个大型程序(如HBase)运行前可以配置固定端口接受请求,客户端连接授权后会打开新的端口接受RPC请求。如果将这些服务端程序封装在Container中,运行前是无法知道需要开发多少个端口的,而Docker又不允许开放所有端口,问一下怎么Dockerize这类程序?
已邀请:

icebolt - Docker爱好者暗黑

赞同来自: tobe


docker run —net=host …..

icebolt - Docker爱好者暗黑

赞同来自:


Docker目前不支持给运行中的容器增加端口映射。不过有几种方法可以增加端口:
1. 启动新容器
shell
docker stop ContainerName
docker commit ContainerName imgName
docker run -p newport: newport -d imgName

2. 增加iptable路由
shell
docker ps
docker inspect container_name | grep IPAddress
iptables -t nat -A DOCKER -p tcp --dport newport -j DNAT --to-destination ipaddress:newport

3. 开启的使用,使用host方式开启
docker run —net=host …..

tobe

赞同来自:


增加端口没有用啊,这个RPC端口是随机分配的,我也不知道什么时候应该添加什么端口,sign

要回复问题请先登录注册