Docker + Marathon:如何做一个端口映射?

我正在尝试在我的基础设施上启动rstudio。

如果我做 :

sudo docker run -d -p 8787:8787 192.168.0.38:5000/rocker/rstudio 

然后,我的rstudio在我的服务器上正常运行。 但是我有了mesos和马拉松,并且想从这个docker指挥官那里做一个Marathon的应用程序。

我无法find正确映射端口的方式。

我试过了 :

 { "type": "DOCKER", "volumes": [], "docker": { "image": "192.168.0.38:5000/rocker/rstudio", "network": "HOST", "privileged": true, "parameters": [ { "key": "p", "value": "8787:8787" } ], "forcePullImage": true } } 

跳,我会工作,但它永远不会开始。

我试过了:

 { "type": "DOCKER", "volumes": [], "docker": { "image": "192.168.0.38:5000/rocker/rstudio", "network": "HOST", "portMappings": [ { "containerPort": 8787, "hostPort": 8787, "servicePort": 10003, "protocol": "tcp" } ], "privileged": true, "parameters": [], "forcePullImage": true } } 

哪个不好。

你会build议我转换这个工作的docker命令:

 sudo docker run -d -p 8787:8787 192.168.0.38:5000/rocker/rstudio 

??

端口映射(与Docker一样)只与BRIDGE联网模式相关,另请参阅Marathon文档 。 在你的情况下,以下应该工作:

 ... "network": "BRIDGE", "portMappings": [ { "containerPort": 8787, "hostPort": 8787 } ...