有没有人有在AWS上运行Consul Agent的经验? 我有一个consul服务器集群正在运行,但想要使用AWS EB为每个Host实例部署Docker应用程序和docker consul代理(progrium / consul),以便应用程序可以使用本地主机上的consul,而不是我所有的应用程序直接回到领事服务器组。
这个页面提供了一个教科书Consulnetworking的一个很好的例子(没有引用AWS或者docker等) – https://jlordiales.me/2015/01/23/docker-consul/
这是我的Dockerrun.aws.json
{ "AWSEBDockerrunVersion": "2", "authentication": { "bucket": "example-com", "key": "registry.example.com/example.json" }, "containerDefinitions": [ { ... php app container defined here ... "portMappings": [ { "containerPort": 80, "hostPort": 80 } ] }, { "cpu": 1000, "entryPoint": [], "environment": [ { "name": "CONSUL_JOIN", "value": "consul.example.com" }, { "name": "CONSUL_URL", "value": "localhost:8500" } ], "essential": true, "image": "progrium/consul", "links": [], "memory": 900, "name": "consulagent", "portMappings": [ { "containerPort": 8400, "hostPort": 8400 }, { "containerPort": 8500, "hostPort": 8500 } ] } ]
}
只是想知道如何将通常的parameter passing给我的docker容器,使其作为代理运行,并join我的服务器,例如$ docker run -d -p 8400:8400 -p 8500:8500 -p 8600:53/udp \ --name node4 -h node4 progrium/consul -join $JOIN_IP