Docker 使用Marathon json创建新的实现

Docker 使用Marathon json创建新的实现,docker,mesos,marathon,Docker,Mesos,Marathon,我们一直在探索如何部署到docker集群中。在应用程序体系结构中,我们有一个应用程序服务器需要访问的postgresql数据库 在开发阶段,我们依靠fig在docker之间创建链接,然后使用docker施加的环境变量连接到目的地(从app server到postgresql) 然而,在Marathon中,我们找不到类似的方法,我们尝试使用依赖项,但没有成功,下面是我们的Marathon.json文件 { "id": "/project", "groups": [

我们一直在探索如何部署到docker集群中。在应用程序体系结构中,我们有一个应用程序服务器需要访问的postgresql数据库

在开发阶段,我们依靠fig在docker之间创建链接,然后使用docker施加的环境变量连接到目的地(从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"
                        }
                    }
                }
            ]
        }
    ]
}

有人能给点建议吗?

考虑一下使用像Concur或etcd这样的东西吧

+1?有解决办法吗?