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

时间:2017-11-15 00:43:24

标签: docker networking containers singularity-container

我目前正在开发一个分布式图形处理平台,该平台在docker容器内部维护一个Akka集群,并且最近被授予访问大型集群的权限以进行测试。不幸的是,这个集群不运行docker,只有奇点。

这最初似乎不是一个问题,因为奇点支持docker图像,但是,由于Akka集群的性质,我必须经过几个环境变量并绑定几个端口。例如,系统中的“分区管理器”将使用以下命令运行:

{{1}}

通过查看Singularity文档,我可以看到我可以创建一个'Singularity'文件并指定环境变量,但似乎没有关于绑定自定义端口的任何文档。它也没有解释我如何将参数传递给默认入口点(该项目是使用'sbt docker:publish'编译的,所以我不确定它将在何处重新分配它。)

即使这是解决方案,因为有多个actor类型(以及每个类型的几个实例),它会出现指定环境变量,文档中的端口需要模板化,在运行时创建文件,并为每个创建一个图像个人演员。

我确信我完全错过了一个可以很好地将此docker命令转换为等效奇点的页面,但我找不到它。

1 个答案:

答案 0 :(得分:7)

Singularity中没有网络隔离,因此无需映射任何端口。如果容器内的进程绑定到IP:端口,则可以在主机上立即访问它。