如何在docker swarm中为容器副本分配不同的端口
我们正在使用副本3的docker swarm模式在docker容器中部署风暴超级用户。现在,我们想通过浏览器访问超级用户登录。
我们公开了可以访问Storm
UI的端口8080。一切正常。现在,storm也将其日志文件公开在端口8000上。由于我们只有一个nimbus和3个超级用户,因此通过端口8000访问nimbus日志非常容易。
我们在使用docker swarm服务部署的主管上遇到的问题。在docker swarm服务中,我们无法为不同的容器传递不同的端口。
当前,docker swarm服务在所有容器上公开相同的端口。我们真正想要的是
port container8011 supervisor1:8000
8012 supervisor2:8000
8013 supervisor3:8000
我们如何实现这一目标。
提前致谢。
回答:
理想情况下,Swarm服务中的任务不应唯一或包含彼此唯一的数据。我知道有几种方法可以解决此问题,但它总是让人感到不理想或不可靠,尤其是在处理需要一对一匹配任务的持久数据量时。
我建议您将三个副本分成三个单独的服务。我知道这听起来需要做更多的工作,但是在单个堆栈文件中,由于它们是唯一的容器,因此您可以灵活地处理它们上的各个端口和卷。
以上是 如何在docker swarm中为容器副本分配不同的端口 的全部内容, 来源链接: utcz.com/qa/416575.html