使用Marathon json来创build新的实现
我们一直在探索马拉松,将其部署到docker集群中。 在应用程序体系结构中,我们有一个应用程序服务器需要访问的postgresql数据库。
在开发阶段,我们依靠fig来创builddockers之间的链接,然后使用docker强加的环境variables连接到目标(app server到postgresql)
然而,在Marathon中,我们找不到类似的方法,我们试图使用依赖关系,但是没有成功,下面是我们的Marathon.json文件
{ "id": "/project", "groups": [ { "id": "apps", "apps": [ { "id": "app", "mem": 1024, "env": { "APP_HOME": "/var/lib/app", "GIT_BRANCH": "release/2.0.0", "SETTING_FILE": "development", "BROKER_URL": "redis://redis_1:6379/0" }, "dependencies": ["database", "caching", "messaging"], "container": { "type": "DOCKER", "docker": { "image": "xxx/aok:app" } }, "volumes": [ { "containerPath": "/var/lib/app", "hostPath": ".", "mode": "RW" } ] }, { "id": "celery", "mem": 1024, "env": { "APP_HOME": "/var/lib/app", "GIT_BRANCH": "release/2.0.0", "SETTING_FILE": "development", "BROKER_URL": "redis://redis_1:6379/0" }, "container": { "type": "DOCKER", "docker": { "image": "xxx/aok:celery" } }, "volumes": [ { "containerPath": "/var/lib/app", "hostPath": ".", "mode": "RW" } ] }, { "id": "celeryhb", "mem": 1024, "env": { "APP_HOME": "/var/lib/app", "GIT_BRANCH": "release/2.0.0", "SETTING_FILE": "development", "BROKER_URL": "redis://redis_1:6379/0" }, "container": { "type": "DOCKER", "docker": { "image": "xxx/aok:celeryhb" } }, "volumes": [ { "containerPath": "/var/lib/app", "hostPath": ".", "mode": "RW" } ] } ] }, { "id": "database", "apps": [ { "id": "pg", "mem": 1024, "container": { "type": "DOCKER", "docker": { "image": "mughrabi/aok:pg" }, "volumes": [ { "containerPath": "/var/lib/postgresql/data", "hostPath": "/tmp/aok-postgres-data", "mode": "RW" } ] } } ] }, { "id": "caching", "apps": [ { "id": "redis", "mem": 1024, "container": { "type": "DOCKER", "docker": { "image": "redis" } } } ] }, { "id": "messaging", "apps": [ { "id": "rabbitmq", "mem": 1024, "container": { "type": "DOCKER", "docker": { "image": "rabbitmq" } } } ] } ] }
有人可以请指教?
看看使用像Consul https://www.consul.io/ or etcd https://github.com/coreos/etcd
- 如果运行在Docker镜像中的马拉松应用程序处于“部署”状态,那么我们应该在哪里检查应用程序未部署的原因?
- DC / OS日程安排容器更新
- Docker + Marathon:如何做一个端口映射?
- 消灭马拉松的docker集装箱杀死Mesos奴隶
- 新的mesos /马拉松。 如何部署一个新的自定义泊坞窗?
- 马拉松命令运行docker – 组成错误
- 马拉松任务永远不会结束
- 当Marathon在同一主机上运行所有泊坞窗应用程序时,泊坞服务停止
- 当使用mesos,marathon和zookeeper时,我使用“docker,mesos”指定“containerizers”文件时,我的mesos-slave不会启动?