我有一个基于 Java 的应用程序(Jboss 6.1 版社区),流量很大。现在我想使用 docker 和 docker-swarm 迁移此应用程序部署以进行集群。
设想
我的应用程序需要从 docker 容器公开的两个端口,一个是 web 端口(ie9080),另一个是数据库连接端口(ie1521),对于安装在主机系统上的每个容器,几乎没有日志目录之类的东西。
简单的 Docker 示例
docker run -it -d --name web1 -h "My Hostname" -p 9080:9080 -p 1521:1521 -v /home/web1/log:/opt/web1/jboss/server/log/ -v /home/web1/license:/opt/web1/jboss/server/license/ MYIMAGE
Docker 与 Swarm 示例
docker service create --name jboss_service --mount type=bind,source=/home/web1/license,destination=/opt/web1/jboss/server/license/ --mount type=bind,source=/home/web1/log,destination=/opt/web1/jboss/server/log/ MYIMAGE
现在,如果我将上述服务扩展/复制到 2 或 3,它将绑定哪个主机端口以及它将为新创建的容器绑定哪个挂载目录?
任何人都可以帮助我了解规模和复制服务在这种情况下的工作方式吗?
我也经历过--publish
,--name global
但在我的情况下没有任何帮助。
谢谢!