【发布时间】:2016-05-12 18:42:46
【问题描述】:
我正在使用 Marathon 部署我的 Docker 容器化 node.js 应用程序。我的马拉松应用规范如下:
{
"id": "<some-name>",
"cmd": null,
"cpus": 1,
"mem": 2800,
"disk": 30720,
"instances": 1,
"container": {
"docker": {
"image": "<some-docker-registry-IP>:5000/<repo>",
"network": "BRIDGE",
"privileged": true,
"forcePullImage": true,
"parameters": [
{
"key": "net",
"value": "host"
}
],
"portMappings": [
{
"containerPort": <some-port>,
"hostPort": <some-port>,
"protocol": "tcp",
"name": null
}
]
},
"type": "DOCKER"
}
}
但问题是,一旦内存不足,这会导致重新启动部署应用程序的服务器。我需要我的服务来监听主机的私有 IP,这就是我使用--net=host 的原因。
是否可以杀死释放内存的任务,以便 Marathon 可以在不重新启动/关闭服务器的情况下重新生成它?或者有没有其他方法可以在不使用--net=host 的情况下使 Docker 容器可路由到外部世界?
【问题讨论】:
标签: node.js docker mesos marathon