Docker + Marathon:如何做端口映射?
Docker + Marathon : how to do a port mapping ?
我正在尝试在我的基础架构上启动 rstudio。
如果我这样做:
sudo docker run -d -p 8787:8787 192.168.0.38:5000/rocker/rstudio
然后我的服务器上有 rstudio 运行。
但是我有 mesos 和 marathon,我想用这个 docker 命令制作一个 Marathon 的应用程序。
找不到正确映射端口的方法。
我试过了:
{
"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
}
}
哪个更好。
你会建议我转换哪个 json 这个有效的 docker 命令:
sudo docker run -d -p 8787:8787 192.168.0.38:5000/rocker/rstudio
??
端口映射(与 Docker 一样)仅与 BRIDGE
网络模式相关,另请参阅 Marathon doc。在您的情况下,以下应该有效:
...
"container": {
"type": "DOCKER",
"docker": {
"network": "BRIDGE",
"portMappings": [
{
"protocol": "tcp",
"containerPort": 8787,
"hostPort": 8787
}
]
}
},
...
我正在尝试在我的基础架构上启动 rstudio。
如果我这样做:
sudo docker run -d -p 8787:8787 192.168.0.38:5000/rocker/rstudio
然后我的服务器上有 rstudio 运行。 但是我有 mesos 和 marathon,我想用这个 docker 命令制作一个 Marathon 的应用程序。
找不到正确映射端口的方法。
我试过了:
{
"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
}
}
哪个更好。
你会建议我转换哪个 json 这个有效的 docker 命令:
sudo docker run -d -p 8787:8787 192.168.0.38:5000/rocker/rstudio
??
端口映射(与 Docker 一样)仅与 BRIDGE
网络模式相关,另请参阅 Marathon doc。在您的情况下,以下应该有效:
...
"container": {
"type": "DOCKER",
"docker": {
"network": "BRIDGE",
"portMappings": [
{
"protocol": "tcp",
"containerPort": 8787,
"hostPort": 8787
}
]
}
},
...