在Singularity中运行Docker映像时绑定端口

我目前正在处理分布式graphics处理平台,该平台在Docker容器内维护一个Akka集群,并且最近已经被授予访问大型集群的权限来testing它。 不幸的是,这个集群不运行docker,只有奇点。

因为奇点支持docker镜像,这并不是一个初始问题,但是由于Akka集群的特性,我必须通过几个环境variables并绑定几个端口。 例如,系统中的“分区pipe理器”将使用以下命令运行:

docker run -p $PM0Port:2551 --rm -e "HOST_IP=$IP" -e "HOST_PORT=$PM0Port" -v $entityLogs:/logs/entityLogs $Image partitionManager $PM0ID $NumberOfPartitions $ZooKeeper 

通过查看Singularity文档,我可以看到我可以创build一个“Singularity”文件并指定环境variables,但似乎没有关于绑定自定义端口的任何文档。 也没有解释如何我可以传递参数到默认入口点(该项目编译与'sbt docker:发布',所以我不知道这将是重新分配它)。

即使这是解决scheme,因为有多个angular色types(以及每个angular色的多个实例),所以会出现指定环境variables和文档中的端口需要模板化,在运行时创build文件以及为每个angular色构build映像。

我相信我完全错过了一个页面,很好地将这个docker命令翻译成等价的奇点,但是我找不到它。 如果有人可以指点我这样的资源,或者可以帮我自己改变这个,那太棒了!