有人有在 AWS 上运行 Consul Agent 的经验吗?我有一个正在运行的 consul 服务器集群,但想使用 AWS EB 向每个主机实例部署一个 docker 应用程序和一个 docker consul 代理 (progrium/consul),以便应用程序可以在本地主机上使用 consul,而不是我所有的应用程序都直接与 consul 服务器组通信。
本页给出了教科书式 Consul 网络的一个很好的例子(没有参考 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
}
]
}
]
}
只是想知道如何将常用参数传递给我的docker容器以使其作为代理运行并加入我的服务器,例如$ docker run -d -p 8400:8400 -p 8500:8500 -p 8600:53/udp \ --name node4 -h node4 progrium/consul -join $JOIN_IP